/// @file AllPixEventAction.hh /// @brief Header file for the GEANT4 event action class. #ifndef AllPixEventAction_h #define AllPixEventActino_h 1 // Standard include statements. #include #include // GEANT4 include statements. #include "G4UserEventAction.hh" #include "G4Event.hh" #include "G4VDigitizerModule.hh" #include "G4RunManager.hh" // Allpix include statements. //#include "AllPixMimosa26Digitizer.hh" #include "AllPixTimepixDigitizer.hh" #include "AllPixDigitizerInterface.hh" #include "AllPixRunAction.hh" #include "AllPixRun.hh" using namespace std; class AllPixGeoDsc; /// @brief EventAction class for the Allpix GEANT4 simulation. /// /// @author J. Idarraga (principle author - idarraga@cern.ch) /// @author T. Whyntie (editor, CERN\@school - t.whyntie@qmul.ac.uk) /// @date Ed. February 2014 class AllPixEventAction : public G4UserEventAction { public: /// @brief Constructor. /// /// @param [in] runaction Pointer to the simulation's run action object. AllPixEventAction(AllPixRunAction * runaction); /// @brief Destructor (virtual). virtual ~AllPixEventAction(); void BeginOfEventAction(const G4Event*); void EndOfEventAction(const G4Event*); void SetDetectorDigitInput(G4double, G4int); //void SetupDigitizers(G4String, AllPixGeoDsc *); void SetupDigitizers(); G4String GetNewName(G4String, G4String, G4String); G4int GetNumberOfDigitizers() { return m_nDigitizers; }; G4int GetNumberOfHC() { return m_nHC; }; private: /// @brief Pointer to the run action object. AllPixRunAction * m_run_action; /// @brief Vector of pointers to the digitiser interfaces. vector m_digiPtrs; /// @brief Vector of the digitizer module names. vector digitizerModulesNames; /// @brief The number of hit collections. G4int m_nHC; /// @brief The number of digitizers. G4int m_nDigitizers; };//end of the AllPixEventAction class definition. #endif