G4AdjointhMultipleScattering Class Reference

#include <G4AdjointhMultipleScattering.hh>

Inheritance diagram for G4AdjointhMultipleScattering:

G4VMultipleScattering G4VContinuousDiscreteProcess G4VProcess

Public Member Functions

 G4AdjointhMultipleScattering (const G4String &processName="msc")
virtual ~G4AdjointhMultipleScattering ()
G4bool IsApplicable (const G4ParticleDefinition &p)
void PrintInfo ()
void Setsamplez (G4bool value)
void Setdtrl (G4double value)
void SetLambdalimit (G4double value)

Protected Member Functions

void InitialiseProcess (const G4ParticleDefinition *)

Detailed Description

Definition at line 73 of file G4AdjointhMultipleScattering.hh.


Constructor & Destructor Documentation

G4AdjointhMultipleScattering::G4AdjointhMultipleScattering ( const G4String processName = "msc"  ) 

Definition at line 52 of file G4AdjointhMultipleScattering.cc.

References fMinimal, and G4VMultipleScattering::SetStepLimitType().

00053   : G4VMultipleScattering(processName)
00054 {
00055   isInitialized = false;  
00056   isIon         = false;
00057   SetStepLimitType(fMinimal);
00058 
00059   dtrl=0.;
00060   lambdalimit=0.;
00061   samplez=0.;
00062 }

G4AdjointhMultipleScattering::~G4AdjointhMultipleScattering (  )  [virtual]

Definition at line 66 of file G4AdjointhMultipleScattering.cc.

00067 {}


Member Function Documentation

void G4AdjointhMultipleScattering::InitialiseProcess ( const G4ParticleDefinition  )  [protected, virtual]

Implements G4VMultipleScattering.

Definition at line 78 of file G4AdjointhMultipleScattering.cc.

References G4VMultipleScattering::AddEmModel(), fMinimal, G4VMultipleScattering::GeomFactor(), G4ParticleDefinition::GetParticleName(), G4ParticleDefinition::GetParticleType(), G4ParticleDefinition::GetPDGMass(), G4VMultipleScattering::LateralDisplasmentFlag(), G4VMultipleScattering::RangeFactor(), G4VMscModel::SetGeomFactor(), G4VMultipleScattering::SetLateralDisplasmentFlag(), G4VMscModel::SetLateralDisplasmentFlag(), G4VMscModel::SetRangeFactor(), G4VMscModel::SetSkin(), G4VMultipleScattering::SetStepLimitType(), G4VMscModel::SetStepLimitType(), G4VMultipleScattering::Skin(), and G4VMultipleScattering::StepLimitType().

00079 {
00080   // Modification of parameters between runs
00081   if(isInitialized) {
00082     if (p->GetParticleType() != "adjoint_nucleus" && p->GetPDGMass() < GeV) {
00083       mscUrban->SetStepLimitType(StepLimitType());
00084       mscUrban->SetLateralDisplasmentFlag(LateralDisplasmentFlag());
00085       mscUrban->SetSkin(Skin());
00086       mscUrban->SetRangeFactor(RangeFactor());
00087       mscUrban->SetGeomFactor(GeomFactor());
00088     }
00089     return;
00090   }
00091 
00092   // defaults for ions, which cannot be overwritten
00093   if (p->GetParticleType() == "adjoint_nucleus" || p->GetPDGMass() > GeV) {
00094     SetStepLimitType(fMinimal);
00095     SetLateralDisplasmentFlag(false);
00096     //SetBuildLambdaTable(false);
00097     if(p->GetParticleType() == "adjoint_nucleus") isIon = true;
00098   }
00099 
00100   // initialisation of parameters
00101   G4String part_name = p->GetParticleName();
00102   mscUrban = new G4UrbanMscModel95();
00103 
00104   mscUrban->SetStepLimitType(StepLimitType());
00105   mscUrban->SetLateralDisplasmentFlag(LateralDisplasmentFlag());
00106   mscUrban->SetSkin(Skin());
00107   mscUrban->SetRangeFactor(RangeFactor());
00108   mscUrban->SetGeomFactor(GeomFactor());
00109 
00110   AddEmModel(1,mscUrban);
00111   isInitialized = true;
00112 }

G4bool G4AdjointhMultipleScattering::IsApplicable ( const G4ParticleDefinition p  )  [virtual]

Implements G4VMultipleScattering.

Definition at line 71 of file G4AdjointhMultipleScattering.cc.

References G4ParticleDefinition::GetPDGCharge(), and G4ParticleDefinition::IsShortLived().

00072 {
00073   return (p.GetPDGCharge() != 0.0 && !p.IsShortLived());
00074 }

void G4AdjointhMultipleScattering::PrintInfo (  )  [virtual]

Implements G4VMultipleScattering.

Definition at line 116 of file G4AdjointhMultipleScattering.cc.

References G4cout, G4endl, G4VMultipleScattering::LateralDisplasmentFlag(), G4VMultipleScattering::RangeFactor(), G4VMultipleScattering::Skin(), and G4VMultipleScattering::StepLimitType().

00117 {
00118   G4cout << "      RangeFactor= " << RangeFactor()
00119          << ", step limit type: " << StepLimitType()
00120          << ", lateralDisplacement: " << LateralDisplasmentFlag()
00121          << ", skin= " << Skin()  
00122     //   << ", geomFactor= " << GeomFactor()  
00123          << G4endl;
00124 }

void G4AdjointhMultipleScattering::Setdtrl ( G4double  value  )  [inline]

Definition at line 92 of file G4AdjointhMultipleScattering.hh.

00092 { dtrl = value;};

void G4AdjointhMultipleScattering::SetLambdalimit ( G4double  value  )  [inline]

Definition at line 95 of file G4AdjointhMultipleScattering.hh.

00095 { lambdalimit = value;};

void G4AdjointhMultipleScattering::Setsamplez ( G4bool  value  )  [inline]

Definition at line 89 of file G4AdjointhMultipleScattering.hh.

00089 { samplez = value;};


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:51:24 2013 for Geant4 by  doxygen 1.4.7