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

MJManager.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
00043 // End class description
00044 //
00049 // 
00050 // --------------------------------------------------------------------------//
00063 // --------------------------------------------------------------------------//
00064 
00065 #ifndef _MJMANAGER_HH
00066 #define _MJMANAGER_HH
00067 
00068 //---------------------------------------------------------------------------//
00069 
00070 class  G4RunManager;
00071 class  G4VisManager;
00072 class  MJGeneratorPrimary;
00073 class  MJGeometryDetectorConstruction;
00074 class  MJManagementEventAction;
00075 class  MJManagementRunAction;
00076 class  MJManagementSteppingAction;
00077 class  MJManagerMessenger;
00078 class  MJProcessesList;
00079 class  MJWaveformManager;
00080 class  MaGeManagementTrackingAction;
00081 
00082 //---------------------------------------------------------------------------//
00083 
00084 class MJManager 
00085 {
00086 public:
00087 
00088   //default constructor
00089   MJManager();
00090 
00091   //copy constructor
00092   MJManager(const MJManager &);
00093 
00094   //destructor
00095   ~MJManager();
00096 
00097   //public interface
00098 
00099   G4RunManager       *GetG4RunManager() { return fG4RunManager; }
00100   G4VisManager *GetG4VisManager() { return fG4VisManager; }
00101   //  MJWaveformManager  *GetMJWaveformManager() { return fWaveformManager; }
00102   MJGeneratorPrimary *GetMJGeneratorPrimary() { return fGeneratorPrimary; }
00103   MJGeometryDetectorConstruction *GetGeometryDetectorConstruction()
00104     { return fGeometryDetectorConstruction; }
00105   MJManagementEventAction        *GetMJEventAction() 
00106     { return fManagementEventAction;}
00107   MJManagementRunAction        *GetMJRunAction() 
00108     { return fManagementRunAction;}
00109   MJManagementSteppingAction     *GetMJSteppingAction()
00110     { return fManagementSteppingAction; }
00111   MJProcessesList      *GetMJProcessesList()
00112     { return fProcessesList; }
00113 
00114   // Return pointer to singleton MJManager.
00115   static MJManager *GetMJManager();
00116 
00117   void SetUserInitialization(G4RunManager *g4Manager) 
00118      { fG4RunManager = g4Manager; }
00119   void SetUserInitialization(G4VisManager *vis) 
00120      { fG4VisManager = vis; }
00121   //  void SetUserInitialization(MJWaveformManager *wvmgr) 
00122   //   { fWaveformManager = wvmgr; }
00123   void SetUserInitialization(MJGeneratorPrimary *gene) 
00124      { fGeneratorPrimary = gene; }
00125   void SetUserInitialization(MJGeometryDetectorConstruction *det) 
00126      { fGeometryDetectorConstruction = det; }
00127   void SetUserInitialization(MJManagementEventAction *evt) 
00128      { fManagementEventAction = evt; }
00129   void SetUserInitialization(MJManagementRunAction *runa) 
00130      { fManagementRunAction = runa; }
00131   void SetUserInitialization(MaGeManagementTrackingAction *tracka) 
00132      {fManagementTrackingAction = tracka;}
00133   void SetUserInitialization(MJManagementSteppingAction *stepa) 
00134      { fManagementSteppingAction = stepa; }
00135   void SetUserInitialization(MJProcessesList *proc) 
00136      { fProcessesList = proc; }
00137 
00138   //protected members
00139 protected:
00140 
00141 
00142   //private  members
00143 private:
00144   // Pointers to main objects.
00145   G4RunManager                    *fG4RunManager;
00146   G4VisManager                    *fG4VisManager;
00147   MJGeneratorPrimary              *fGeneratorPrimary;
00148   MJGeometryDetectorConstruction  *fGeometryDetectorConstruction;
00149   MJManagementEventAction         *fManagementEventAction;
00150   MJManagementRunAction           *fManagementRunAction;
00151   MJManagementSteppingAction      *fManagementSteppingAction;
00152   MJProcessesList                 *fProcessesList;
00153   // MJWaveformManager               *fWaveformManager;
00154   MaGeManagementTrackingAction    *fManagementTrackingAction;
00155 
00156   MJManagerMessenger              *fG4Messenger; // G4 messenger for UI.
00157 
00158   static MJManager                *fMJManager; // Pointer to MJManager
00159 };
00160 #endif

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