CGEM BOSS 6.6.5.i
BESIII Offline Software System
Loading...
Searching...
No Matches
ExtMuIonisation Class Reference

#include <ExtMuIonisation.h>

+ Inheritance diagram for ExtMuIonisation:

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 *)
 

Detailed Description

Definition at line 89 of file ExtMuIonisation.h.

Constructor & Destructor Documentation

◆ ExtMuIonisation()

ExtMuIonisation::ExtMuIonisation ( const G4String & name = "ExtmuIoni")

Definition at line 91 of file ExtMuIonisation.cxx.

92 : G4VEnergyLossProcess(name),
93 theParticle(0),
94 theBaseParticle(0),
95 isInitialised(false)
96{
97 SetDEDXBinning(120);
98 SetLambdaBinning(120);
99 SetMinKinEnergy(0.1*keV);
100 SetMaxKinEnergy(100.0*TeV);
101 SetLossFluctuations(false);
102}

◆ ~ExtMuIonisation()

ExtMuIonisation::~ExtMuIonisation ( )
virtual

Definition at line 106 of file ExtMuIonisation.cxx.

107{}

Member Function Documentation

◆ InitialiseEnergyLossProcess()

void ExtMuIonisation::InitialiseEnergyLossProcess ( const G4ParticleDefinition * part,
const G4ParticleDefinition * bpart )
protectedvirtual

Definition at line 111 of file ExtMuIonisation.cxx.

113{
114 if(!isInitialised)
115 {
116 theParticle = part;
117 theBaseParticle = bpart;
118
119 mass = theParticle->GetPDGMass();
120 SetSecondaryParticle(G4Electron::Electron());
121
122 flucModel = new G4UniversalFluctuation();
123
124 G4VEmModel* em = new G4BraggModel();
125 em->SetLowEnergyLimit(0.1*keV);
126 em->SetHighEnergyLimit(0.2*MeV);
127 AddEmModel(1, em, flucModel);
128 G4VEmModel* em1 = new G4BetheBlochModel();
129 em1->SetLowEnergyLimit(0.2*MeV);
130 em1->SetHighEnergyLimit(1.0*GeV);
131 AddEmModel(2, em1, flucModel);
132 G4VEmModel* em2 = new G4MuBetheBlochModel();
133 em2->SetLowEnergyLimit(1.0*GeV);
134 em2->SetHighEnergyLimit(100.0*TeV);
135 AddEmModel(3, em2, flucModel);
136 SetStepFunction(0.2, 1.0*mm);
137 ratio = electron_mass_c2/mass;
138 isInitialised = true;
139 }
140}

◆ IsApplicable()

G4bool ExtMuIonisation::IsApplicable ( const G4ParticleDefinition & p)
inline

Definition at line 98 of file ExtMuIonisation.h.

99 {return (p.GetPDGCharge() != 0.0 && p.GetPDGMass() > 10.0*MeV);};

◆ MinPrimaryEnergy()

G4double ExtMuIonisation::MinPrimaryEnergy ( const G4ParticleDefinition * p,
const G4Material * ,
G4double cut )
inline

Definition at line 148 of file ExtMuIonisation.h.

151{
152 G4double x = 0.5*cut/electron_mass_c2;
153 G4double g = x*ratio + sqrt((1. + x)*(1. + x*ratio*ratio));
154 return mass*(g - 1.0);
155}
Double_t x[10]
*********Class see also m_nmax DOUBLE PRECISION m_MasPhot DOUBLE PRECISION m_phsu DOUBLE PRECISION m_Xenph DOUBLE PRECISION m_r2 DOUBLE PRECISION m_WtMass INTEGER m_nmax INTEGER m_Nevgen INTEGER m_IsFSR INTEGER m_MarTot *COMMON c_KarFin $ !Output file $ !Event serial number $ !alpha QED at Thomson limit $ !minimum energy at CMS for remooval $ !infrared cut
Definition KarFin.h:27

◆ PrintInfo()

void ExtMuIonisation::PrintInfo ( )

Definition at line 144 of file ExtMuIonisation.cxx.

145{
146 G4cout << " Bether-Bloch model for E > 0.2 MeV, "
147 << "parametrisation of Bragg peak below, "
148 << G4endl;
149 G4cout << " radiative corrections for E > 1 GeV" << G4endl;
150}

◆ SecondariesPostStep()

std::vector< G4DynamicParticle * > * ExtMuIonisation::SecondariesPostStep ( G4VEmModel * model,
const G4MaterialCutsCouple * couple,
const G4DynamicParticle * dp,
G4double & tcut )
inline

Definition at line 195 of file ExtMuIonisation.h.

200{
201// return model->SampleSecondaries(couple, dp, tcut);
202 return NULL;//No secondaries, for Track Extrapolation.(Wang L.L.)
203}

The documentation for this class was generated from the following files: