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 // 00043 // 00044 // --------------------------------------------------------------------------// 00055 // --------------------------------------------------------------------------// 00056 00057 #ifndef _MJWAVEFORMMANAGER_HH 00058 #define _MJWAVEFORMMANAGER_HH 00059 00060 //---------------------------------------------------------------------------// 00061 00062 #include "io/MJLogger.hh" 00063 #include "io/MJOutputRoot.hh" 00064 #include "waveform/MJWaveformUI.hh" 00065 #include "waveform/MJVWaveformDetector.hh" 00066 00067 //---------------------------------------------------------------------------// 00068 00069 class MJWaveformManager 00070 { 00071 public: 00072 00073 //default constructor 00074 MJWaveformManager(); 00075 00076 //copy constructor 00077 MJWaveformManager(const MJWaveformManager &); 00078 00079 //destructor 00080 ~MJWaveformManager(); 00081 00082 //public interface 00083 void SetDetector(MJVWaveformDetector *det); 00084 void SetUI(MJVWaveformUI *ui); 00085 void SetOutputRoot(MJOutputRoot *rootout); 00086 00087 MJVWaveformDetector *GetDetector() { return fDetector; } 00088 MJWaveformUI *GetUI(){ return fUI; } 00089 MJOutputRoot *GetOutputRoot { return *fRootOutput; } 00090 00091 //protected members 00092 protected: 00093 00094 00095 //private members 00096 private: 00097 MJVWaveformDetector *fDetector; // Pointer to detector to be simulated 00098 MJWaveformUI *fUI; // Pointer to User Interface, if used. 00099 MJOutputRoot *fOutputRoot; // Pointer to Root output class that 00100 // handles Root I/O. 00101 }; 00102 #endif