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

MJGeneratorPrimary.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 //
00043 // 
00044 // --------------------------------------------------------------------------//
00058 // --------------------------------------------------------------------------//
00059 
00060 #ifndef _MJGENERATORPRIMARY_HH
00061 #define _MJGENERATORPRIMARY_HH
00062 
00063 //---------------------------------------------------------------------------//
00064 
00065 #include "G4VUserPrimaryGeneratorAction.hh"
00066 
00067 #include "generators/MJVGenerator.hh"
00068 #include "generators/MaGeGeneratorPositionSampling.hh"
00069 
00070 //---------------------------------------------------------------------------//
00071 
00072 class G4Event;
00073 class MJGeneratorPrimaryMessenger;
00074 
00075 //---------------------------------------------------------------------------//
00076 
00077 enum MaGeConfinementCode{noconfined,volume,surface};
00078 
00079 class MJGeneratorPrimary : public G4VUserPrimaryGeneratorAction
00080 {
00081 public:
00082 
00083   //default constructor
00084   MJGeneratorPrimary();
00085 
00086   //copy constructor
00087   MJGeneratorPrimary(const MJGeneratorPrimary &);
00088 
00089   //destructor
00090   ~MJGeneratorPrimary();
00091 
00092   //public interface
00093   void GeneratePrimaries(G4Event *event);
00094   MJVGenerator *GetMJGenerator() { return fMJGenerator; }
00095   void SetMJGenerator(MJVGenerator *gene) { fMJGenerator = gene; }
00096 
00097   void SetVolumeName(G4String name) {volumeName = name;}
00098   G4String GetVolumeName() {return volumeName;}
00099   void SetConfinementCode(MaGeConfinementCode code) {confinementCode = code;}
00100   MaGeConfinementCode GetConfinementCode() {return confinementCode;}
00101 
00102   //protected members
00103 protected:
00104 
00105   //private  members
00106 private:
00107   MJVGenerator                       *fMJGenerator;
00108   MJGeneratorPrimaryMessenger        *fG4Messenger;
00109   G4String volumeName;
00110   MaGeConfinementCode confinementCode;
00111   MaGeGeneratorPositionSampling* positionSampler;
00112 };
00113 #endif

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