BOSS 8.0.0
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 91 of file ExtMuIonisation.h.

Constructor & Destructor Documentation

◆ ExtMuIonisation()

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

Definition at line 92 of file ExtMuIonisation.cxx.

93 : G4VEnergyLossProcess( name )
94 , theParticle( 0 )
95 , theBaseParticle( 0 )
96 , isInitialised( false ) {
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.

106{}

Member Function Documentation

◆ InitialiseEnergyLossProcess()

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

Definition at line 110 of file ExtMuIonisation.cxx.

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

◆ IsApplicable()

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

Definition at line 98 of file ExtMuIonisation.h.

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

◆ MinPrimaryEnergy()

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

Definition at line 145 of file ExtMuIonisation.h.

146 {
147 G4double x = 0.5 * cut / electron_mass_c2;
148 G4double g = x * ratio + sqrt( ( 1. + x ) * ( 1. + x * ratio * ratio ) );
149 return mass * ( g - 1.0 );
150}
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 142 of file ExtMuIonisation.cxx.

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

◆ SecondariesPostStep()

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

Definition at line 191 of file ExtMuIonisation.h.

192 {
193 // return model->SampleSecondaries(couple, dp, tcut);
194 return NULL; // No secondaries, for Track Extrapolation.(Wang L.L.)
195}

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