#include <ExtMuIonisation.h>
Public Member Functions | |
ExtMuIonisation (const G4String &name="ExtmuIoni") | |
virtual | ~ExtMuIonisation () |
G4bool | IsApplicable (const G4ParticleDefinition &p) |
G4double | MinPrimaryEnergy (const G4ParticleDefinition *p, const G4Material *, G4double cut) |
std::vector< G4DynamicParticle * > * | SecondariesPostStep (G4VEmModel *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double &tcut) |
void | PrintInfo () |
Protected Member Functions | |
virtual void | InitialiseEnergyLossProcess (const G4ParticleDefinition *, const G4ParticleDefinition *) |
Private Member Functions | |
ExtMuIonisation & | operator= (const ExtMuIonisation &right) |
ExtMuIonisation (const ExtMuIonisation &) | |
Private Attributes | |
G4double | mass |
G4double | ratio |
const G4ParticleDefinition * | theParticle |
const G4ParticleDefinition * | theBaseParticle |
G4VEmFluctuationModel * | flucModel |
G4ParticleChangeForLoss * | fParticleChange |
G4bool | isInitialised |
Definition at line 89 of file ExtMuIonisation.h.
ExtMuIonisation::ExtMuIonisation | ( | const G4String & | name = "ExtmuIoni" |
) |
Definition at line 91 of file ExtMuIonisation.cxx.
00092 : G4VEnergyLossProcess(name), 00093 theParticle(0), 00094 theBaseParticle(0), 00095 isInitialised(false) 00096 { 00097 SetDEDXBinning(120); 00098 SetLambdaBinning(120); 00099 SetMinKinEnergy(0.1*keV); 00100 SetMaxKinEnergy(100.0*TeV); 00101 SetLossFluctuations(false); 00102 }
ExtMuIonisation::~ExtMuIonisation | ( | ) | [virtual] |
ExtMuIonisation::ExtMuIonisation | ( | const ExtMuIonisation & | ) | [private] |
void ExtMuIonisation::InitialiseEnergyLossProcess | ( | const G4ParticleDefinition * | , | |
const G4ParticleDefinition * | ||||
) | [protected, virtual] |
Definition at line 111 of file ExtMuIonisation.cxx.
References flucModel, isInitialised, mass, ratio, theBaseParticle, and theParticle.
00113 { 00114 if(!isInitialised) 00115 { 00116 theParticle = part; 00117 theBaseParticle = bpart; 00118 00119 mass = theParticle->GetPDGMass(); 00120 SetSecondaryParticle(G4Electron::Electron()); 00121 00122 flucModel = new G4UniversalFluctuation(); 00123 00124 G4VEmModel* em = new G4BraggModel(); 00125 em->SetLowEnergyLimit(0.1*keV); 00126 em->SetHighEnergyLimit(0.2*MeV); 00127 AddEmModel(1, em, flucModel); 00128 G4VEmModel* em1 = new G4BetheBlochModel(); 00129 em1->SetLowEnergyLimit(0.2*MeV); 00130 em1->SetHighEnergyLimit(1.0*GeV); 00131 AddEmModel(2, em1, flucModel); 00132 G4VEmModel* em2 = new G4MuBetheBlochModel(); 00133 em2->SetLowEnergyLimit(1.0*GeV); 00134 em2->SetHighEnergyLimit(100.0*TeV); 00135 AddEmModel(3, em2, flucModel); 00136 SetStepFunction(0.2, 1.0*mm); 00137 ratio = electron_mass_c2/mass; 00138 isInitialised = true; 00139 } 00140 }
G4bool ExtMuIonisation::IsApplicable | ( | const G4ParticleDefinition & | p | ) | [inline] |
G4double ExtMuIonisation::MinPrimaryEnergy | ( | const G4ParticleDefinition * | p, | |
const G4Material * | , | |||
G4double | cut | |||
) | [inline] |
ExtMuIonisation& ExtMuIonisation::operator= | ( | const ExtMuIonisation & | right | ) | [private] |
void ExtMuIonisation::PrintInfo | ( | ) |
Definition at line 144 of file ExtMuIonisation.cxx.
00145 { 00146 G4cout << " Bether-Bloch model for E > 0.2 MeV, " 00147 << "parametrisation of Bragg peak below, " 00148 << G4endl; 00149 G4cout << " radiative corrections for E > 1 GeV" << G4endl; 00150 }
std::vector< G4DynamicParticle * > * ExtMuIonisation::SecondariesPostStep | ( | G4VEmModel * | , | |
const G4MaterialCutsCouple * | , | |||
const G4DynamicParticle * | , | |||
G4double & | tcut | |||
) | [inline] |
Definition at line 195 of file ExtMuIonisation.h.
00200 { 00201 // return model->SampleSecondaries(couple, dp, tcut); 00202 return NULL;//No secondaries, for Track Extrapolation.(Wang L.L.) 00203 }
G4VEmFluctuationModel* ExtMuIonisation::flucModel [private] |
G4ParticleChangeForLoss* ExtMuIonisation::fParticleChange [private] |
Definition at line 140 of file ExtMuIonisation.h.
G4bool ExtMuIonisation::isInitialised [private] |
G4double ExtMuIonisation::mass [private] |
Definition at line 133 of file ExtMuIonisation.h.
Referenced by InitialiseEnergyLossProcess(), and MinPrimaryEnergy().
G4double ExtMuIonisation::ratio [private] |
Definition at line 134 of file ExtMuIonisation.h.
Referenced by InitialiseEnergyLossProcess(), and MinPrimaryEnergy().
const G4ParticleDefinition* ExtMuIonisation::theBaseParticle [private] |
const G4ParticleDefinition* ExtMuIonisation::theParticle [private] |