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

MJGeneratorTUNLFEL.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
00044 // End class description
00045 //
00050 // 
00051 // --------------------------------------------------------------------------//
00063 // --------------------------------------------------------------------------//
00064 
00065 #ifndef _MJGENERATORTUNLFEL_HH
00066 #define _MJGENERATORTUNLFEL_HH
00067 
00068 //---------------------------------------------------------------------------//
00069 
00070 #include "globals.hh"
00071 #include "G4ThreeVector.hh"
00072 
00073 #include "generators/MJVGenerator.hh"
00074 
00075 //---------------------------------------------------------------------------//
00076 
00077 class G4Event;
00078 class G4Messenger;
00079 class G4ParticleGun;
00080 class G4Run;
00081 
00082 class MJGeneratorTUNLFEL : public MJVGenerator
00083 {
00084 public:
00085 
00086   //default constructor
00087   MJGeneratorTUNLFEL();
00088 
00089   //copy constructor
00090   MJGeneratorTUNLFEL(const MJGeneratorTUNLFEL &);
00091 
00092   //destructor
00093   ~MJGeneratorTUNLFEL();
00094 
00095   //public interface
00096   void BeginOfEventAction(G4Event *event);
00097   void BeginOfRunAction(G4Run const *run);
00098   void Dump();
00099   void EndOfRunAction(G4Run const *run);
00100   void GeneratePrimaryVertex(G4Event *event);
00101   void SetDefaults();
00102 
00103   G4double GetCurrentEnergy() { return fCurrentEnergy; }
00104   G4ThreeVector GetCurrentPosition() { return fCurrentPosition; }
00105   
00106   //This method is not used but it is necessary 
00107   //because it is purely virtual in MJVGenerator
00108   void SetParticlePosition(G4ThreeVector vec) {;}
00109 
00110   void SetEnergySigma(G4double energysigma) { fEnergySigma = energysigma; }
00111   void SetMajorSigma(G4double majorsig) { fMajorSigma = majorsig; }
00112   void SetMeanEnergy(G4double energy) { fMeanEnergy = energy; }
00113   void SetMinorSigma(G4double minorsig) { fMinorSigma = minorsig; }
00114   void SetOrigin(G4ThreeVector origin) { fOrigin = origin; }
00115   void SetRho(G4double rho) { fRho = rho; }
00116 
00117   //protected members
00118 protected:
00119 
00120   //private  members
00121 private:
00122   G4ParticleGun      *fParticleGun;
00123 
00124   G4double           fCurrentEnergy;  // Energy of current particle.
00125   G4ThreeVector      fCurrentPosition; // Current position of particle 
00126                                        // generated.
00127   G4ThreeVector      fDirection;      // Direction of Beam    
00128   G4double           fEnergySigma; // Energy spread of beam (sigma).
00129   G4double           fMajorSigma;  // Beam width (sigma) along major axis
00130   G4double           fMeanEnergy;    // Mean energy of beam
00131   G4double           fMinorSigma;  // Beam width along minor axis.
00132   G4ThreeVector      fOrigin;      // Beam origin. Particles will be 
00133                                    // distributed around this point.
00134   G4double           fRho; // Major angle of beam ellips relative to x-axis.
00135 };
00136 #endif

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