Belle II Software  release-05-01-25
IonPhysics.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(c) 2018 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributor: Dennis Wright (SLAC) *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #ifndef IONPHYSICS_H
12 #define IONPHYSICS_H
13 
14 #include "G4VPhysicsConstructor.hh"
15 
16 class G4TheoFSGenerator;
17 class G4FTFModel;
18 class G4ExcitedStringDecay;
19 class G4LundStringFragmentation;
20 class G4GeneratorPrecompoundInterface;
21 class G4VComponentCrossSection;
22 class G4ComponentGGNuclNuclXsc;
23 
24 namespace Belle2 {
30  namespace Simulation {
31 
35  class IonPhysics: public G4VPhysicsConstructor {
36  public:
37  IonPhysics();
38  ~IonPhysics();
39 
41  virtual void ConstructParticle() override;
42 
44  virtual void ConstructProcess() override;
45 
46  private:
48  G4TheoFSGenerator* m_ftfp;
49 
51  G4FTFModel* m_stringModel;
52 
54  G4ExcitedStringDecay* m_stringDecay;
55 
57  G4LundStringFragmentation* m_fragModel;
58 
60  G4GeneratorPrecompoundInterface* m_preCompoundModel;
61 
63  G4VComponentCrossSection* m_theGGNuclNuclXS;
64 
66  G4ComponentGGNuclNuclXsc* m_ionGGXS;
67  };
68 
69  } // end of namespace Simulation
70 
72 } // end of namespace Belle2
73 
74 #endif // IONPHYSICS_H
Belle2::Simulation::IonPhysics::m_theGGNuclNuclXS
G4VComponentCrossSection * m_theGGNuclNuclXS
Cross section set for inelastic nucleus-nucleus collisions.
Definition: IonPhysics.h:63
Belle2::Simulation::IonPhysics
Ion hadronic physics constructor for Belle II physics list.
Definition: IonPhysics.h:35
Belle2::Simulation::IonPhysics::ConstructParticle
virtual void ConstructParticle() override
Build processes, models, cross sections used in physics list.
Definition: IonPhysics.cc:55
Belle2::Simulation::IonPhysics::m_ionGGXS
G4ComponentGGNuclNuclXsc * m_ionGGXS
Cross section set for elastic nucleus-nucleus collisions.
Definition: IonPhysics.h:66
Belle2::Simulation::IonPhysics::m_preCompoundModel
G4GeneratorPrecompoundInterface * m_preCompoundModel
Precompound model to deexcite post-collision nucleus.
Definition: IonPhysics.h:60
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::Simulation::IonPhysics::ConstructProcess
virtual void ConstructProcess() override
Build all particle types used in physics list (empty in this class)
Definition: IonPhysics.cc:59
Belle2::Simulation::IonPhysics::m_fragModel
G4LundStringFragmentation * m_fragModel
Lund string fragmentation model.
Definition: IonPhysics.h:57
Belle2::Simulation::IonPhysics::m_ftfp
G4TheoFSGenerator * m_ftfp
Final state generator for QCD string models.
Definition: IonPhysics.h:48
Belle2::Simulation::IonPhysics::m_stringModel
G4FTFModel * m_stringModel
Fritiof string model.
Definition: IonPhysics.h:51
Belle2::Simulation::IonPhysics::m_stringDecay
G4ExcitedStringDecay * m_stringDecay
Model to decay strings into hadrons.
Definition: IonPhysics.h:54