BOSS 7.1.0
BESIII Offline Software System
Loading...
Searching...
No Matches
ExtPhysicsList Class Reference

#include <ExtPhysicsList.h>

+ Inheritance diagram for ExtPhysicsList:

Public Member Functions

 ExtPhysicsList ()
 
 ~ExtPhysicsList ()
 

Protected Member Functions

void ConstructParticle ()
 
void ConstructProcess ()
 
void SetCuts ()
 

Detailed Description

Definition at line 13 of file ExtPhysicsList.h.

Constructor & Destructor Documentation

◆ ExtPhysicsList()

ExtPhysicsList::ExtPhysicsList ( )

Definition at line 25 of file ExtPhysicsList.cxx.

26{
27 defaultCutValue = 0.5*mm;
28}

◆ ~ExtPhysicsList()

ExtPhysicsList::~ExtPhysicsList ( )

Definition at line 30 of file ExtPhysicsList.cxx.

30{;}

Member Function Documentation

◆ ConstructParticle()

void ExtPhysicsList::ConstructParticle ( )
protected

Definition at line 32 of file ExtPhysicsList.cxx.

33{
34 // In this method, static member functions should be called
35 // for all particles which you want to use.
36 // This ensures that objects of these particle types will be
37 // created in the program.
38 G4Gamma:: GammaDefinition();
39 G4Electron:: ElectronDefinition();
40 G4Positron:: PositronDefinition();
41 G4MuonPlus:: MuonPlusDefinition();
42 G4MuonMinus:: MuonMinusDefinition();
43 G4PionPlus:: PionPlusDefinition();
44 G4PionMinus:: PionMinusDefinition();
45 G4KaonPlus:: KaonPlusDefinition();
46 G4KaonMinus:: KaonMinusDefinition();
47 G4Proton:: ProtonDefinition();
48 G4AntiProton:: AntiProtonDefinition();
49}

◆ ConstructProcess()

void ExtPhysicsList::ConstructProcess ( )
protected

Definition at line 52 of file ExtPhysicsList.cxx.

53{
54 // Define transportation process (must be invoked)
55 AddTransportation();
56
57 auto theParticleIterator=GetParticleIterator();
58 //Add Energy Loss Process
59 theParticleIterator->reset();
60 while( (*theParticleIterator)() )
61 {
62 G4ParticleDefinition* particle = theParticleIterator->value();
63 G4ProcessManager* pmanager = particle->GetProcessManager();
64 G4String particleName = particle->GetParticleName();
65 if(particleName == "e-" || particleName == "e+")
66 {
67// pmanager->AddProcess( new G4MultipleScattering,-1,1,1);
68// pmanager->AddProcess( new G4eIonisation,-1,2,2);
69 pmanager->AddProcess( new ExteIonisation,-1,1,1);
70// pmanager->AddProcess( new G4eBremsstrahlung,-1,2,2);
71 }
72 else if(particleName == "mu-" || particleName == "mu+")
73 {
74// pmanager->AddProcess( new G4MultipleScattering,-1,1,1);
75// pmanager->AddProcess( new G4MuIonisation,-1,2,2);
76 pmanager->AddProcess( new ExtMuIonisation,-1,1,1);
77// pmanager->AddProcess( new G4MuBremsstrahlung,-1,2,2);
78 }
79 else if((!particle->IsShortLived()) && (particle->GetPDGCharge() != 0.0) && (particleName != "chargedgeantino"))
80 {
81// pmanager->AddProcess( new G4MultipleScattering,-1,1,1);
82// pmanager->AddProcess( new G4hIonisation,-1,2,2);
83// pmanager->AddProcess( new ExtMultipleScattering,-1,1,1);
84 pmanager->AddProcess( new ExthIonisation,-1,1,1);
85 }
86 }
87}

◆ SetCuts()

void ExtPhysicsList::SetCuts ( )
protected

Definition at line 90 of file ExtPhysicsList.cxx.

91{
92 // " G4VUserPhysicsList::SetCutsWithDefault" method sets
93 // the default cut value for all particle types
94 SetCutsWithDefault();
95
96}

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