Symmetric_Moeller.h

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