Ignore:
Timestamp:
Apr 6, 2009, 12:21:12 PM (15 years ago)
Author:
garnier
Message:

update processes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/processes/electromagnetic/muons/src/G4MuMultipleScattering.cc

    r819 r961  
    2424// ********************************************************************
    2525//
    26 // $Id: G4MuMultipleScattering.cc,v 1.3 2007/11/09 19:48:10 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-01-patch-02 $
     26// $Id: G4MuMultipleScattering.cc,v 1.12 2008/10/16 13:37:04 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2828//
    2929// -----------------------------------------------------------------------------
     
    4747
    4848#include "G4MuMultipleScattering.hh"
    49 #include "G4MuMscModel.hh"
     49#include "G4WentzelVIModel.hh"
    5050#include "G4MscStepLimitType.hh"
    5151
     
    6161  samplez           = false ;
    6262  isInitialized     = false; 
    63   SetRangeFactor(0.04);
     63  SetRangeFactor(0.2);
    6464  SetLateralDisplasmentFlag(true);
    6565}
     
    8484  if(isInitialized) {
    8585
    86     if (p->GetParticleType() != "nucleus") {
     86    if (p->GetParticleType() != "nucleus" && p->GetPDGMass() < GeV) {
    8787      mscModel->SetStepLimitType(StepLimitType());
    8888      mscModel->SetLateralDisplasmentFlag(LateralDisplasmentFlag());
    89       //mscModel->SetThetaLimit(thetaLimit);
    9089      mscModel->SetRangeFactor(RangeFactor());
    9190    }
     91    mscModel->SetPolarAngleLimit(PolarAngleLimit());
    9292    return;
    9393  }
    9494
    95   if (p->GetParticleType() == "nucleus") {
     95  if (p->GetParticleType() == "nucleus" || p->GetPDGMass() > GeV) {
    9696    SetLateralDisplasmentFlag(false);
    9797    SetBuildLambdaTable(false);
    98     //    SetRangeFactor(0.2);
    9998  }
    10099
    101   // initialisation of parameters
    102   //  G4String part_name = p->GetParticleName();
    103   mscModel = new G4MuMscModel(RangeFactor(),thetaLimit);
     100  // initialisation of the model
     101
     102  mscModel = new G4WentzelVIModel();
     103  mscModel->SetStepLimitType(StepLimitType());
    104104  mscModel->SetLateralDisplasmentFlag(LateralDisplasmentFlag());
     105  mscModel->SetRangeFactor(RangeFactor());
     106  mscModel->SetPolarAngleLimit(PolarAngleLimit());
     107  mscModel->SetLowEnergyLimit(MinKinEnergy());
     108  mscModel->SetHighEnergyLimit(MaxKinEnergy());
    105109
    106110  AddEmModel(1,mscModel);
     
    112116void G4MuMultipleScattering::PrintInfo()
    113117{
    114   G4cout << "      Boundary/stepping algorithm is active with RangeFactor= "
    115          << RangeFactor()
    116          << "  Step limit type " << StepLimitType()
    117         << G4endl;
     118  G4cout << "      RangeFactor= " << RangeFactor()
     119         << ", step limit type: " << StepLimitType()
     120         << ", lateralDisplacement: " << LateralDisplasmentFlag()
     121        << G4endl;
    118122}
    119123
Note: See TracChangeset for help on using the changeset viewer.