00001 //! \file 00002 //! 00003 //! Header file for the Gem_Tracker class. 00004 //! 00005 //! The Gem_Tracker 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-15 00011 //! 00012 //! \ingroup detector 00013 00014 // *+****1****+****2****+****3****+****4****+****5****+****6****+****7****+**** 00015 00016 // Ensure this header file is only included once. 00017 00018 #ifndef GEM_TRACKER_H 00019 #define GEM_TRACKER_H 00020 00021 // Define the number of GT detectors (NB also used in GT_SD). 00022 00023 #define N_GT 2 00024 00025 // Declare the classes referenced here. 00026 00027 class G4VPhysicalVolume; 00028 00029 // *+****1****+****2****+****3****+****4****+****5****+****6****+****7****+**** 00030 00031 //! Gem_Tracker class. 00032 //! 00033 //! This class builds the Gem_Tracking 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 Gem_Tracker { 00040 00041 public: 00042 00043 //! Constructor for the Gem_Tracker class. 00044 //! 00045 //! Called by OLYMPUS Detector member Construct() to create an instance 00046 //! of this class. 00047 00048 Gem_Tracker(); 00049 00050 //! Destructor for the Gem_Tracker class. 00051 //! 00052 //! Called by OLYMPUS Detector member Construct() to delete this instance. 00053 00054 ~Gem_Tracker(); 00055 00056 // Member functions. 00057 00058 //! Member function to build the the Gem_Tracker. 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 GT_SD, the Gem_Tracker sensitive detector class. 00063 00064 void Build( G4VPhysicalVolume * World_phys ); 00065 00066 private: 00067 00068 }; 00069 00070 #endif