00001 //! \file 00002 //! 00003 //! Header file for the MWPC class. 00004 //! 00005 //! The MWPC class is used to build the GEM tracking detector 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 MWPC_H 00019 #define MWPC_H 00020 00021 // Define the number of MW sensitive detectors. 00022 00023 #define N_MW 6 00024 00025 // Declare the classes referenced here. 00026 00027 class G4VPhysicalVolume; 00028 00029 // *+****1****+****2****+****3****+****4****+****5****+****6****+****7****+**** 00030 00031 //! MWPC class. 00032 //! 00033 //! This class builds the MWPC 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 MW_SD class. 00038 00039 // *+****1****+****2****+****3****+****4****+****5****+****6****+****7****+**** 00040 00041 class MWPC { 00042 00043 public: 00044 00045 //! Constructor for the MWPC class. 00046 //! 00047 //! Called by OLYMPUS_Detector member Construct() to create an instance of 00048 //! this class. 00049 00050 MWPC(); 00051 00052 //! Destructor for the MWPC class. 00053 //! 00054 //! Called by OLYMPUS_Detector member Construct() to delete this instance. 00055 00056 ~MWPC(); 00057 00058 // Member functions. 00059 00060 //! Member function to build the the MWPC. 00061 //! 00062 //! Called by OLYMPUS_Detector member Construct() to build the detector. 00063 00064 void Build( G4VPhysicalVolume * World_phys ); 00065 00066 private: 00067 00068 }; 00069 00070 #endif