Introduction to GEANT4
From UCL HEP PBT Wiki
m |
m |
||
Line 131: | Line 131: | ||
- | <span style="color:#800000"> class MyPhysicsList : public G4VUserPhysicsList() { </span> | + | <span style="color:#800000"> class MyPhysicsList:public G4VUserPhysicsList() { </span> |
<span style="color:#800000"> public: </span> | <span style="color:#800000"> public: </span> | ||
Line 149: | Line 149: | ||
- | <span style="color:#800000"> void MyPhysicsList :: ConstructParticle() { </span> | + | <span style="color:#800000"> void MyPhysicsList::ConstructParticle() { </span> |
<span style="color:#800000"> // Define the particles </span> | <span style="color:#800000"> // Define the particles </span> | ||
Line 180: | Line 180: | ||
- | <span style="color:#800000"> void MyPhysicsList :: ConstructProcess() { </span> | + | <span style="color:#800000"> void MyPhysicsList::ConstructProcess() { </span> |
<span style="color:#800000"> AddTransportation(); // Assign transportation process to all particles </span> | <span style="color:#800000"> AddTransportation(); // Assign transportation process to all particles </span> | ||
Line 192: | Line 192: | ||
- | <span style="color:#800000"> void MyPhysicsList :: ConstructEM() { </span> | + | <span style="color:#800000"> void MyPhysicsList::ConstructEM() { </span> |
<span style="color:#800000"> aParticleIterator->reset(); </span> | <span style="color:#800000"> aParticleIterator->reset(); </span> | ||
Line 209: | Line 209: | ||
- | <span style="color:#800000"> void MyPhysicsList :: ConstructGeneral() { </span> | + | <span style="color:#800000"> void MyPhysicsList::ConstructGeneral() { </span> |
<span style="color:#800000"> G4Decay* theDecayProcess = new G4Decay() </span> | <span style="color:#800000"> G4Decay* theDecayProcess = new G4Decay() </span> | ||
Line 233: | Line 233: | ||
- | <span style="color:#800000"> void MyPhysicsList :: SetCuts() { </span> | + | <span style="color:#800000"> void MyPhysicsList::SetCuts() { </span> |
<span style="color:#800000"> defaultCutValue = 1.0*mm; </span> | <span style="color:#800000"> defaultCutValue = 1.0*mm; </span> | ||
Line 252: | Line 252: | ||
- | <span style="color:#800000"> | + | <span style="color:#800000"> class MyPhysicsList:public G4VModularPhysicsList { |
+ | |||
+ | <span style="color:#800000"> public: | ||
+ | |||
+ | <span style="color:#800000"> MyPhysicsList(); | ||
+ | <span style="color:#800000"> ~MyPhysicsList(); | ||
+ | |||
+ | <span style="color:#800000"> virtual void ConstructParticle(); | ||
+ | |||
+ | <span style="color:#800000"> virtual void SetCuts(); | ||
+ | |||
+ | <span style="color:#800000"> void AddPhysicsList(const G4String& name); | ||
+ | <span style="color:#800000"> virtual void ConstructProcess(); | ||
+ | |||
+ | <span style="color:#800000"> private: | ||
+ | |||
+ | <span style="color:#800000"> G4String fEmName; | ||
+ | <span style="color:#800000"> G4VPhysicsConstructor* fEmPhysicsList; | ||
+ | <span style="color:#800000"> G4VPhysicsConstructor* fDecPhysicsList; | ||
+ | <span style="color:#800000"> std::vector<G4VPhysicsConstructor*> fHadronPhys; }; | ||
+ | |||
+ | |||
+ | <span style="color:#800000"> MyPhysicsList::MyPhysicsList():G4ModularPhysicsList() { </span> | ||
<span style="color:#800000"> defaultCutValue = 1.0*mm; </span> | <span style="color:#800000"> defaultCutValue = 1.0*mm; </span> | ||
Line 266: | Line 288: | ||
- | <span style="color:#800000"> class ProtonPhysics() : public G4VPhysicsConstructor { </span> | + | <span style="color:#800000"> class ProtonPhysics():public G4VPhysicsConstructor { </span> |
<span style="color:#800000"> public: </span> | <span style="color:#800000"> public: </span> | ||
Line 282: | Line 304: | ||
- | <span style="color:#800000"> void MyModPhysList :: SetCuts() </span> | + | <span style="color:#800000"> void MyModPhysList::SetCuts() </span> |
<span style="color:#800000"> {SetCutsWithDefault();} </span> | <span style="color:#800000"> {SetCutsWithDefault();} </span> |