Belle II Software  release-05-02-19
Belle2PhysicsList.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 BELLE2PHYSICSLIST_H
12 #define BELLE2PHYSICSLIST_H
13 
14 #include "G4VModularPhysicsList.hh"
15 
16 namespace Belle2 {
22  namespace Simulation {
23 
29  class Belle2PhysicsList: public G4VModularPhysicsList {
30 
31  public:
33  explicit Belle2PhysicsList(const G4String& physicsListName);
36 
38  virtual void ConstructParticle();
39 
41  virtual void SetCuts();
42 
44  void SetVerbosity(G4int verb);
45 
47  void SetProductionCutValue(G4double);
48 
50  void SetPXDProductionCutValue(G4double);
51 
53  void SetSVDProductionCutValue(G4double);
54 
56  void SetCDCProductionCutValue(G4double);
57 
59  void SetARICHTOPProductionCutValue(G4double);
60 
62  void SetECLProductionCutValue(G4double);
63 
65  void SetKLMProductionCutValue(G4double);
66 
68  void UseStandardEMPhysics(G4bool);
69 
71  void UseOpticalPhysics(G4bool);
72 
74  void UseHighPrecisionNeutrons(G4bool);
75 
78 
79  private:
85  void setRegionCuts(const std::string& name, const std::vector<std::string>& regions, double cutValue);
86 
88  void ConstructG4eParticles();
89 
91  G4double m_globalCutValue;
92 
93  G4double m_pxdCutValue;
94  G4double m_svdCutValue;
95  G4double m_cdcCutValue;
96  G4double m_arichtopCutValue;
97  G4double m_eclCutValue;
98  G4double m_klmCutValue;
99  };
100 
101  } // end of namespace Simulation
102 
104 } // end of namespace Belle2
105 
106 #endif // BELLE2PHYSICSLIST_H
Belle2::Simulation::Belle2PhysicsList::m_klmCutValue
G4double m_klmCutValue
threshold for BKLM and EKLM
Definition: Belle2PhysicsList.h:106
Belle2::Simulation::Belle2PhysicsList::SetKLMProductionCutValue
void SetKLMProductionCutValue(G4double)
Set cut value for BKLM and EKLM envelopes.
Definition: Belle2PhysicsList.cc:323
Belle2::Simulation::Belle2PhysicsList::SetECLProductionCutValue
void SetECLProductionCutValue(G4double)
Set cut value for ECL barrel, forward and backward envelopes.
Definition: Belle2PhysicsList.cc:317
Belle2::Simulation::Belle2PhysicsList::m_svdCutValue
G4double m_svdCutValue
threshold for SVD
Definition: Belle2PhysicsList.h:102
Belle2::Simulation::Belle2PhysicsList::UseHighPrecisionNeutrons
void UseHighPrecisionNeutrons(G4bool)
Use high precision neutron models below 20 MeV.
Definition: Belle2PhysicsList.cc:345
Belle2::Simulation::Belle2PhysicsList::m_pxdCutValue
G4double m_pxdCutValue
threshold for PXD
Definition: Belle2PhysicsList.h:101
Belle2::Simulation::Belle2PhysicsList::SetProductionCutValue
void SetProductionCutValue(G4double)
Use parameter to set global cut value.
Definition: Belle2PhysicsList.cc:287
Belle2::Simulation::Belle2PhysicsList::UseStandardEMPhysics
void UseStandardEMPhysics(G4bool)
Use standard EM physics instead of EM option1.
Definition: Belle2PhysicsList.cc:329
Belle2::Simulation::Belle2PhysicsList::UseOpticalPhysics
void UseOpticalPhysics(G4bool)
Add optical photon physics.
Definition: Belle2PhysicsList.cc:339
Belle2::Simulation::Belle2PhysicsList::setRegionCuts
void setRegionCuts(const std::string &name, const std::vector< std::string > &regions, double cutValue)
Set the produciton cuts to the given value for a list of regions belonging to a sub detector.
Definition: Belle2PhysicsList.cc:236
Belle2::Simulation::Belle2PhysicsList::Belle2PhysicsList
Belle2PhysicsList(const G4String &physicsListName)
Constructor.
Definition: Belle2PhysicsList.cc:51
Belle2::Simulation::Belle2PhysicsList::m_cdcCutValue
G4double m_cdcCutValue
threshold for CDC
Definition: Belle2PhysicsList.h:103
Belle2::Simulation::Belle2PhysicsList::m_globalCutValue
G4double m_globalCutValue
Secondary production thresholds.
Definition: Belle2PhysicsList.h:99
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::Simulation::Belle2PhysicsList::ConstructG4eParticles
void ConstructG4eParticles()
Construct parallel particle types needed for reco.
Definition: Belle2PhysicsList.cc:107
Belle2::Simulation::Belle2PhysicsList::m_arichtopCutValue
G4double m_arichtopCutValue
threshold for ARICH and TOP
Definition: Belle2PhysicsList.h:104
Belle2::Simulation::Belle2PhysicsList::m_eclCutValue
G4double m_eclCutValue
threshold for ECL
Definition: Belle2PhysicsList.h:105
Belle2::Simulation::Belle2PhysicsList::SetARICHTOPProductionCutValue
void SetARICHTOPProductionCutValue(G4double)
Set cut value for ARICH and TOP envelopes.
Definition: Belle2PhysicsList.cc:311
Belle2::Simulation::Belle2PhysicsList::ConstructParticle
virtual void ConstructParticle()
Build all particle types used in physics list.
Definition: Belle2PhysicsList.cc:83
Belle2::Simulation::Belle2PhysicsList::UseLongLivedNeutralParticles
void UseLongLivedNeutralParticles()
Simulate neutral long-lived particles with given pdg and mass value.
Definition: Belle2PhysicsList.cc:350
Belle2::Simulation::Belle2PhysicsList::SetCuts
virtual void SetCuts()
Set the secondary particle production thresholds.
Definition: Belle2PhysicsList.cc:261
Belle2::Simulation::Belle2PhysicsList::SetVerbosity
void SetVerbosity(G4int verb)
Run/event verbosity level.
Definition: Belle2PhysicsList.cc:281
Belle2::Simulation::Belle2PhysicsList::SetPXDProductionCutValue
void SetPXDProductionCutValue(G4double)
Set cut value for PXD envelope.
Definition: Belle2PhysicsList.cc:293
Belle2::Simulation::Belle2PhysicsList::SetCDCProductionCutValue
void SetCDCProductionCutValue(G4double)
Set cut value for CDC envelope.
Definition: Belle2PhysicsList.cc:305
Belle2::Simulation::Belle2PhysicsList::~Belle2PhysicsList
~Belle2PhysicsList()
destructor
Definition: Belle2PhysicsList.cc:79
Belle2::Simulation::Belle2PhysicsList::SetSVDProductionCutValue
void SetSVDProductionCutValue(G4double)
Set cut value for SVD envelope.
Definition: Belle2PhysicsList.cc:299