Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Class Members | File Members

MJVWaveformDetector.hh

Go to the documentation of this file.
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 _MJVWAVEFORMDETECTOR_HH
00063 #define _MJVWAVEFORMDETECTOR_HH
00064 
00065 //---------------------------------------------------------------------------//
00066 
00067 #include <string>
00068 
00069 #include "CLHEP/Units/SystemOfUnits.h"
00070 
00071 #include "TFile.h"
00072 
00073 #include "MJVWaveformCrystal.hh"
00074 
00075 //---------------------------------------------------------------------------//
00076 
00077 class MJVWaveformDetector 
00078 {
00079 public:
00080 
00081   //default constructor
00082   MJVWaveformDetector();
00083 
00084   //copy constructor
00085   MJVWaveformDetector(const MJVWaveformDetector &);
00086 
00087   //destructor
00088   virtual ~MJVWaveformDetector();
00089 
00090   //public interface
00091   virtual void BeginOfEventAction() = 0;
00092   virtual void BeginOfRunAction() {;}
00093   virtual void Construct() = 0;
00094   virtual void EndOfEventAction() = 0;
00095   virtual void EndOfRunAction() {;}
00096   virtual void EventSteppingAction() = 0;
00097   virtual void GenerateSignals();
00098 
00099   //protected members
00100 protected:
00101   void AddCrystal(MJVWaveformCrystal *crystal);
00102 
00103   //private  members
00104 private:
00105 
00106   MJVWaveformCrystal  *fFirstCrystal; // First crystal in linked list.
00107   MJVWaveformCrystal  *fLastCrystal;  // Last crystal in linked list.
00108   char                *fName;          
00109   HepInt              fNumberOfCrystals; // Number of crystals in linked list.
00110   HepBoolean          fConstructed;   // True if the Construct() method has 
00111                                       // been invoked. Has to be set in derived
00112                                       // method!
00113 
00114   void DeleteCrystals();   
00115 
00116 };
00117 #endif

Generated on Mon Nov 29 16:58:53 2004 for Majorana Simulation by  doxygen 1.3.9.1