4 // Author: I. Hrivnacova
6 // Class TG4ModularPhysicsList
7 // ---------------------------
8 // The modular physics list.
9 // Creates all standard particles.
10 // The physics processes have to be created
11 // using the G4VPhysicsCreator derived classes
12 // and registered to this physics list.
13 // Only G4Decay is created directly in this modular
16 #ifndef TG4_MODULAR_PHYSICS_LIST_H
17 #define TG4_MODULAR_PHYSICS_LIST_H
19 #include <G4VModularPhysicsList.hh>
26 class TG4ModularPhysicsList: public G4VModularPhysicsList
29 TG4ModularPhysicsList();
31 // TG4ModularPhysicsList(const TG4ModularPhysicsList& right);
32 virtual ~TG4ModularPhysicsList();
35 virtual void SetCuts();
36 void SetProcessActivation();
37 void PrintAllProcesses() const;
40 TG4ModularPhysicsList(const TG4ModularPhysicsList& right);
43 TG4ModularPhysicsList& operator=(const TG4ModularPhysicsList& right);
46 virtual void ConstructParticle();
47 virtual void ConstructProcess();
49 // construct all particles in each category
50 void ConstructAllBosons();
51 void ConstructAllLeptons();
52 void ConstructAllMesons();
53 void ConstructAllBaryons();
54 void ConstructAllIons();
55 void ConstructAllShortLiveds();
57 // construct general processes
58 void ConstructGeneral();
62 void SetProcessActivation(G4ProcessManager* processManager,
63 G4int processId, G4bool activation);
65 // static data members
66 static const G4bool fgkDefaultCutValue;
69 TG4ExtDecayer* fExtDecayer; //external decayer
72 #endif //TG4_MODULAR_PHYSICS_LIST_H