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 00038 // End class description 00039 // 00044 // 00045 // --------------------------------------------------------------------------// 00056 // --------------------------------------------------------------------------// 00057 00058 #ifndef _MJWAVEFORMPLANARDETECTOR_HH 00059 #define _MJWAVEFORMPLANARDETECTOR_HH 00060 00061 //---------------------------------------------------------------------------// 00062 00063 #include "TTree.h" 00064 00065 #include "waveform/MJVWaveformCrystal.hh" 00066 #include "waveform/MJVWaveformDetector.hh" 00067 00068 //---------------------------------------------------------------------------// 00069 00070 struct TreeStructure{ 00071 Float_t Time[500]; 00072 Float_t Current[2][500]; 00073 Float_t Charge[2][500]; 00074 Float_t InitialPosition[10][3]; 00075 Float_t InitialCharge[10]; 00076 Int_t NumberOfPoints; 00077 }; 00078 00079 class MJWaveformPlanarDetector : public MJVWaveformDetector 00080 { 00081 public: 00082 00083 //default constructor 00084 MJWaveformPlanarDetector(); 00085 00086 //copy constructor 00087 MJWaveformPlanarDetector(const MJWaveformPlanarDetector &); 00088 00089 //destructor 00090 ~MJWaveformPlanarDetector(); 00091 00092 //public interface 00093 void BeginOfEventAction(); 00094 void Construct(); 00095 void EventSteppingAction() {;} 00096 void EndOfEventAction(); 00097 void EndOfRunAction(); 00098 00099 //protected members 00100 protected: 00101 00102 00103 //private members 00104 private: 00105 MJVWaveformCrystal *fPlanarCrystal1; 00106 MJVWaveformCrystal *fPlanarCrystal2; 00107 TreeStructure *fData; 00108 TFile *fRootFile; 00109 TTree *fRootTree; 00110 HepInt fStep; 00111 00112 }; 00113 #endif