BOSS 8.0.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.

25{ defaultCutValue = 0.5 * mm; }

◆ ~ExtPhysicsList()

ExtPhysicsList::~ExtPhysicsList ( )

Definition at line 27 of file ExtPhysicsList.cxx.

27{ ; }

Member Function Documentation

◆ ConstructParticle()

void ExtPhysicsList::ConstructParticle ( )
protected

Definition at line 29 of file ExtPhysicsList.cxx.

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

◆ ConstructProcess()

void ExtPhysicsList::ConstructProcess ( )
protected

Definition at line 47 of file ExtPhysicsList.cxx.

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

◆ SetCuts()

void ExtPhysicsList::SetCuts ( )
protected

Definition at line 84 of file ExtPhysicsList.cxx.

84 {
85 // " G4VUserPhysicsList::SetCutsWithDefault" method sets
86 // the default cut value for all particle types
87 SetCutsWithDefault();
88}

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