00001 //! \file 00002 //! 00003 //! Header file for the Luminosity_Monitor class. 00004 //! 00005 //! The Luminosity_Monitor class is used to build the Luminosity Monitor 00006 //! for the OLYMPUS detector simulation. 00007 //! 00008 //! \author D.K. Hasell 00009 //! \version 1.0 00010 //! \date 2010-10-31 00011 //! 00012 //! \ingroup detector 00013 00014 // *+****1****+****2****+****3****+****4****+****5****+****6****+****7****+**** 00015 00016 // Include this file just once. 00017 00018 #ifndef Luminosity_Monitor_H 00019 #define Luminosity_Monitor_H 00020 00021 // Define the number of GT sensitive detectors (NB also used in LM_SD). 00022 00023 #define N_LM 6 00024 00025 // Declare the classes referenced here. 00026 00027 class G4VPhysicalVolume; 00028 00029 // *+****1****+****2****+****3****+****4****+****5****+****6****+****7****+**** 00030 00031 //! Class used to create the Luminosity_Monitor class. 00032 //! 00033 //! This class builds the Luminosity_Monitor detector. It is 00034 //! instantiated by the OLYMPUS Detector class memeber function Construct() 00035 //! and then the Build() member function builds the detector and places it in 00036 //! the world volume. The Build member function also creates an 00037 //! instantiation the GT_SD class. 00038 00039 class Luminosity_Monitor { 00040 00041 public: 00042 00043 //! Constructor for the Luminosity_Monitor class. 00044 //! 00045 //! Called by OLYMPUS_Detector member Construct() to create an instance of 00046 //! this class. 00047 00048 Luminosity_Monitor(); 00049 00050 //! Destructor for the Luminosity_Monitor class. 00051 //! 00052 //! Called by OLYMPUS_Detector member Construct() to delete this instance. 00053 00054 ~Luminosity_Monitor(); 00055 00056 // Member functions. 00057 00058 //! Member function to build the the Luminosity_Monitor. 00059 //! 00060 //! Called by OLYMPUS Detector member Construct() to build the detector 00061 //! and place it in the world volume. This function also creates an 00062 //! instance of LM_SD, the Luminosity_Monitor sensitive detector class. 00063 00064 void Build( G4VPhysicalVolume * World_phys ); 00065 00066 private: 00067 00068 }; 00069 00070 #endif