ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
LBE.hh
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file LBE.hh
1 //
2 // ********************************************************************
3 // * License and Disclaimer *
4 // * *
5 // * The Geant4 software is copyright of the Copyright Holders of *
6 // * the Geant4 Collaboration. It is provided under the terms and *
7 // * conditions of the Geant4 Software License, included in the file *
8 // * LICENSE and available at http://cern.ch/geant4/license . These *
9 // * include a list of copyright holders. *
10 // * *
11 // * Neither the authors of this software system, nor their employing *
12 // * institutes,nor the agencies providing financial support for this *
13 // * work make any representation or warranty, express or implied, *
14 // * regarding this software system or assume any liability for its *
15 // * use. Please see the license in the file LICENSE and URL above *
16 // * for the full disclaimer and the limitation of liability. *
17 // * *
18 // * This code implementation is the result of the scientific and *
19 // * technical work of the GEANT4 collaboration. *
20 // * By using, copying, modifying or distributing the software (or *
21 // * any work based on the software) you agree to acknowledge its *
22 // * use in resulting scientific publications, and indicate your *
23 // * acceptance of all terms of the Geant4 Software license. *
24 // ********************************************************************
25 //
26 //
27 // --------------------------------------------------------------
28 //
29 // For information related to this code contact: Alex Howard
30 // e-mail: alexander.howard@cern.ch
31 // --------------------------------------------------------------
32 // Comments
33 //
34 // Underground Advanced
35 //
36 // This physics list is taken from the underground_physics example with small
37 // modifications. It is an example of a "flat" physics list with no dependence
38 // on builders. The physics covered would be suitable for a low background
39 // experiment including the neutron_hp package
40 //
41 //
42 //
43 // PhysicsList header
44 // --------------------------------------------------------------
45 
46 #ifndef LBE_h
47 #define LBE_h 1
48 
49 #include "globals.hh"
50 #include "G4VUserPhysicsList.hh"
51 #include "G4VModularPhysicsList.hh"
52 
53 class G4StoppingPhysics; // This builder encapsulate stopping processes
54 
55 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
56 
57 
59 {
60 public:
61  LBE(G4int ver = 1);
62  virtual ~LBE();
63 
64  //delete copy constructor and assignment operator
65  LBE(const LBE &)=delete;
66  LBE& operator=(const LBE &right)=delete;
67 
68 public:
69  virtual void SetCuts();
70 
71 
72 protected:
73  // Construct particle and physics
74  virtual void ConstructParticle();
75  virtual void ConstructProcess();
76 
77  // these methods Construct physics processes and register them
78  virtual void ConstructGeneral();
79  virtual void ConstructEM();
80  virtual void ConstructHad();
81  virtual void ConstructOp();
82 
83 
84  /*
85  // these methods Construct all particles in each category
86  virtual void ConstructAllBosons();
87  virtual void ConstructAllLeptons();
88  virtual void ConstructAllMesons();
89  virtual void ConstructAllBaryons();
90  virtual void ConstructAllIons();
91  virtual void ConstructAllShortLiveds();
92  */
93 
94  virtual void AddTransportation();
95 
96 private:
99 
103 // uncomment if the code if corresponding code in LBE.cc is un-commented
104 // G4double cutForProton;
105 // G4double cutForAlpha;
106 // G4double cutForGenericIon;
107 
109 
110  // these methods Construct particles
111  void ConstructMyBosons();
112  void ConstructMyLeptons();
113  void ConstructMyMesons();
114  void ConstructMyBaryons();
115  void ConstructMyIons();
116  void ConstructMyShortLiveds();
117 
118 };
119 
120 #endif