00001 //---------------------------------------------------------------------------// 00002 //bb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nu// 00003 // // 00004 // MAJORANA Simulation // 00005 // // 00006 // This code implementation is the intellectual property of the // 00007 // MAJORANA Collaboration. It is based on Geant4, an intellectual // 00008 // property of the RD44 GEANT4 collaboration. // 00009 // // 00010 // ********************* // 00011 // // 00012 // Neither the authors of this software system, nor their employing // 00013 // institutes, nor the agencies providing financial support for this // 00014 // work make any representation or warranty, express or implied, // 00015 // regarding this software system or assume any liability for its use. // 00016 // By copying, distributing or modifying the Program (or any work based // 00017 // on on the Program) you indicate your acceptance of this statement, // 00018 // and all its terms. // 00019 // // 00020 //bb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nu// 00021 //---------------------------------------------------------------------------// 00032 // Begin description of class here 00037 // End class description 00038 // 00045 // 00046 // --------------------------------------------------------------------------// 00060 // --------------------------------------------------------------------------// 00061 00062 #ifndef _MJPROCESSESLIST_HH 00063 #define _MJPROCESSESLIST_HH 00064 00065 //---------------------------------------------------------------------------// 00066 00067 // GEANT4 headers 00068 #include "G4VModularPhysicsList.hh" 00069 #include "globals.hh" 00070 #include "G4ios.hh" 00071 00072 // Forward declarations 00073 class MJProcessesMessenger; 00074 00075 //---------------------------------------------------------------------------// 00076 00077 class MJProcessesList : public G4VModularPhysicsList { 00078 00079 //public interface 00080 public: 00081 00082 //default constructor 00083 MJProcessesList(); 00084 00085 //copy constructor 00086 //MJProcessesList(const MJProcessesList &); 00087 00088 //destructor 00089 ~MJProcessesList(); 00090 00091 public: 00092 virtual void SetCuts(); 00093 void SetRealm( G4String ); 00094 00095 //protected members 00096 protected: 00097 00098 // Define mandatory inherited virtual methods. 00099 void ConstructParticle(); 00100 void ConstructProcess(); 00101 00102 // These methods Construct physics processes and register them 00103 virtual void AddTransportation(); 00104 virtual void ConstructGeneral(); 00105 virtual void ConstructEM(); 00106 virtual void ConstructHad(); 00107 virtual void ConstructOp(); 00108 00109 //private members 00110 private: 00111 G4int VerboseLevel; 00112 G4int OpVerbLevel; 00113 00114 G4double cutForGamma; 00115 G4double cutForElectron; 00116 G4double cutForPositron; 00117 G4double cutForProton; 00118 G4double cutForAlpha; 00119 G4double cutForGenericIon; 00120 00121 MJProcessesMessenger* processesMessenger; 00122 }; 00123 #endif