Geant4 Cross Reference |
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 58 class LBE: public G4VModularPhysicsList 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: 97 G4int VerboseLevel; 98 G4int OpVerbLevel; 99 100 G4double cutForGamma; 101 G4double cutForElectron; 102 G4double cutForPositron; 103 // uncomment if the code if corresponding code in LBE.cc is un-commented 104 // G4double cutForProton; 105 // G4double cutForAlpha; 106 // G4double cutForGenericIon; 107 108 G4StoppingPhysics* stoppingPhysics; 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 121