EventAction.h

Go to the documentation of this file.
00001 //! \file
00002 //!
00003 //! Header file for the EventAction class.
00004 //!
00005 //! Declares the EventAction class and the member routines which
00006 //! control the actions taken during the event.
00007 //!
00008 //! \author D.K. Hasell
00009 //! \version 1.0
00010 //! \date 2010-10-14
00011 //!
00012 //! \ingroup control
00013 
00014 // Ensure header file only included once.
00015 
00016 #ifndef EVENTACTION_H
00017 #define EVENTACTION_H
00018 
00019 // Include the GEANT4 header files referenced in this file.
00020 
00021 #include "G4UserEventAction.hh"
00022 
00023 // Include the user header files referenced here.
00024 
00025 #include "GN_Data.h"
00026 #include "EV_Data.h"
00027 #include "GT_Data.h"
00028 #include "WC_Data.h"
00029 #include "TF_Data.h"
00030 #include "LM_Data.h"
00031 #include "MW_Data.h"
00032 #include "SM_Data.h"
00033 
00034 // Declare the classes used here.
00035 
00036 class G4Event;
00037 
00038 //! EventAction class based on G4UserEventAction.
00039 
00040 class EventAction : public G4UserEventAction {
00041 
00042 public:
00043 
00044      //! Constructor.
00045 
00046      EventAction();
00047 
00048      //! Destructor.
00049 
00050      ~EventAction();
00051 
00052      // Member functions.
00053 
00054      //! Routine to perform various actions at the start of an event.
00055 
00056      void BeginOfEventAction( const G4Event * event );
00057 
00058      //! Routine to perform various actions at the end of an event.
00059 
00060      void EndOfEventAction( const G4Event * event );
00061 
00062      //! Print generated event information.
00063 
00064      void Print( const G4Event * event );
00065 
00066 private:
00067 
00068      friend class GT_SD;
00069      friend class WC_SD;
00070      friend class TF_SD;
00071      friend class LM_SD;
00072      friend class MW_SD;
00073      friend class SM_SD;
00074 
00075      static GN_Data * gndata;      //!< Pointer to MC data.
00076      static EV_Data * evdata;      //!< Pointer to EV data.
00077      static GT_Data * gtdata;      //!< Pointer to GT data.
00078      static WC_Data * wcdata;      //!< Pointer to WC data.
00079      static TF_Data * tfdata;      //!< Pointer to TF data.
00080      static LM_Data * lmdata;      //!< Pointer to LM data.
00081      static MW_Data * mwdata;      //!< Pointer to MW data.
00082      static SM_Data * smdata;      //!< Pointer to MW data.
00083 
00084 };
00085 
00086 #endif