Belle II Software development
GammaLeptoNuclearPhysics.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8
9#ifndef GAMMALEPTONUCLEARPHYSICS_H
10#define GAMMALEPTONUCLEARPHYSICS_H
11
12#include "G4VPhysicsConstructor.hh"
13#include "G4GammaParticipants.hh"
14#include "G4QGSModel.hh"
15
16class G4TheoFSGenerator;
17class G4ExcitedStringDecay;
18class G4QGSMFragmentation;
19class G4GeneratorPrecompoundInterface;
20
21namespace Belle2 {
27 namespace Simulation {
28
33 class GammaLeptoNuclearPhysics: public G4VPhysicsConstructor {
34 public:
36 GammaLeptoNuclearPhysics(const G4int verbosityLevel = 0);
39
41 virtual void ConstructProcess() override;
42
44 virtual void ConstructParticle() override;
45
46 private:
48 G4TheoFSGenerator* m_qgsp;
49
51 G4QGSModel<G4GammaParticipants>* m_stringModel;
52
54 G4ExcitedStringDecay* m_stringDecay;
55
57 G4QGSMFragmentation* m_fragModel;
58
60 G4GeneratorPrecompoundInterface* m_preCompoundModel;
61
64
65 };
66
67 } // end of namespace Simulation
68
70} // end of namespace Belle2
71
72#endif // GAMMALEPTONUCLEARPHYSICS_H
Gamma-nuclear, electro-nuclear and muon-nuclear physics constructor for Belle II physics list.
G4TheoFSGenerator * m_qgsp
Final state generator for QCD string models.
G4QGSModel< G4GammaParticipants > * m_stringModel
Quark Gluon String model.
virtual void ConstructParticle() override
Build all particle types used in physics list (empty in this class)
G4QGSMFragmentation * m_fragModel
Quark Gluon String fragmentation model.
G4bool m_useGammaNuclearXS
Switch between GammaNuclearXS and PhotoNuclearXS.
G4GeneratorPrecompoundInterface * m_preCompoundModel
Precompound model to deexcite post-collision nucleus.
G4ExcitedStringDecay * m_stringDecay
Model to decay strings into hadrons.
virtual void ConstructProcess() override
Build processes, models, cross sections used in physics list.
Abstract base class for different kinds of events.