00001 //! \file 00002 //! 00003 //! Header file for the Beam_Pipe class. 00004 //! 00005 //! The Beam_Pipe class is used to build the beamline for the OLYMPUS 00006 //! detector simulation. This file declares the Beam_Pipe class and the 00007 //! member routines which construct the OLYMPUS beam line. 00008 //! 00009 //! \author D.K. Hasell 00010 //! \version 1.0 00011 //! \date 2010-02-27 00012 //! 00013 //! \ingroup detector 00014 00015 // *+****1****+****2****+****3****+****4****+****5****+****6****+****7****+**** 00016 00017 // Ensure this header file is only included once. 00018 00019 #ifndef BEAM_PIPE_H 00020 #define BEAM_PIPE_H 00021 00022 // Declare the classes referenced here. 00023 00024 class G4VPhysicalVolume; 00025 00026 //! Class used to build the OLYMPUS beam line. 00027 //! 00028 //! Called by OLYMPUS_Detector class memeber function Construct(). 00029 00030 class Beam_Pipe { 00031 00032 public: 00033 00034 //! Constructor for the Beam_Pipe class. 00035 //! 00036 //! Called by OLYMPUS_Detector member Construct() to create an instance of 00037 //! this class. 00038 00039 Beam_Pipe(); 00040 00041 //! Destructor for the Beam_Pipe class. 00042 //! 00043 //! Called by OLYMPUS_Detector member Construct() to delete the instance. 00044 00045 ~Beam_Pipe(); 00046 00047 // Member functions. 00048 00049 //! Member function to build the Beam_Pipe. 00050 //! 00051 //! Called by OLYMPUS_Detector member Construct() to build the beamline. 00052 00053 void Build( G4VPhysicalVolume * World_phys ); 00054 00055 private: 00056 00057 }; 00058 00059 #endif