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

MJVGenerator.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
00038 // End class description
00039 //
00044 // 
00045 // --------------------------------------------------------------------------//
00057 // --------------------------------------------------------------------------//
00058 
00059 #ifndef _MJVGENERATOR_HH
00060 #define _MJVGENERATOR_HH
00061 
00062 //---------------------------------------------------------------------------//
00063 
00064 #include "globals.hh"
00065 #include "G4ThreeVector.hh"
00066 
00067 #include "io/MJLogger.hh"
00068 
00069 
00070 //---------------------------------------------------------------------------//
00071 
00072 class G4Event;
00073 class G4UImessenger;
00074 class G4Run;
00075 
00076 //---------------------------------------------------------------------------//
00077 
00078 class MJVGenerator 
00079 {
00080 public:
00081 
00082   //default constructor
00083   MJVGenerator();
00084 
00085   //copy constructor
00086   MJVGenerator(const MJVGenerator &);
00087 
00088   //destructor
00089   virtual ~MJVGenerator();
00090 
00091   //public interface
00092   virtual void BeginOfRunAction(const G4Run *run) {;} 
00093   // Called at beginning of Run
00094   virtual void EndOfRunAction(const G4Run *run) {;} // Called at End of run.
00095   virtual void GeneratePrimaryVertex(G4Event *event) = 0;
00096   virtual void SetParticlePosition(G4ThreeVector vec) = 0;
00097   G4String GetGeneratorName() { return fGeneratorName; }
00098   void SetReportingFrequency(G4int freq) { fReportingFrequency = freq; }
00099 
00100   //protected members
00101 protected:
00102   G4String        fGeneratorName;  // Name of Generator.
00103   G4UImessenger   *fG4Messenger;   // G4Messenger for setting up generator.
00104   G4int           fReportingFrequency; // Generate report every 
00105                                        // fReportingFrequency events;  
00106   //private  members
00107 private:
00108 };
00109 #endif

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