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 00042 // End class description 00043 // 00048 // 00049 // --------------------------------------------------------------------------// 00060 // --------------------------------------------------------------------------// 00061 00062 #ifndef _MJMANAGEMENTEVENTACTION_HH 00063 #define _MJMANAGEMENTEVENTACTION_HH 00064 00065 //---------------------------------------------------------------------------// 00066 00067 #include "globals.hh" 00068 #include "G4Event.hh" 00069 #include "G4UserEventAction.hh" 00070 00071 //#include "io/MJOutputRoot.hh" 00072 #include "io/MJVOutputManager.hh" 00073 00074 //---------------------------------------------------------------------------// 00075 00076 class MJManagementEventActionMessenger; 00077 00078 class MJManagementEventAction : 00079 public G4UserEventAction 00080 { 00081 public: 00082 00083 //default constructor 00084 MJManagementEventAction(); 00085 00086 //copy constructor 00087 MJManagementEventAction(const MJManagementEventAction &); 00088 00089 //destructor 00090 ~MJManagementEventAction(); 00091 00092 // Geant 4 methods. 00093 void BeginOfEventAction(const G4Event*); 00094 void EndOfEventAction(const G4Event*); 00095 00099 void SetOutputManager(MJVOutputManager *outr) { fOutputManager = outr; } 00100 MJVOutputManager *GetOutputManager() {return fOutputManager;} 00101 void SetOutputName(const G4String name) {fOutputName = name;} 00102 G4String GetOutputName() {return fOutputName;} 00103 void SetReportingFrequency(G4int freq) { fReportingFrequency = freq;} 00104 00105 //protected members 00106 protected: 00107 00108 00109 //private members 00110 private: 00111 00115 MJManagementEventActionMessenger *fG4Messenger; 00116 00120 MJVOutputManager* fOutputManager; 00121 //MJOutputRoot *fOutputRoot; 00122 00126 G4String fOutputName; 00127 00128 G4int fReportingFrequency; // Dump event # to output every 00129 // fReportingFrequency events. 00130 }; 00131 #endif