00001 /* BDSIM code. Version 1.0 00002 Author: Grahame A. Blair, Royal Holloway, Univ. of London. 00003 Last modified 24.7.2002 00004 Copyright (c) 2002 by G.A.Blair. ALL RIGHTS RESERVED. 00005 00006 Modified 22.03.05 by J.C.Carter, Royal Holloway, Univ. of London. 00007 Removed StringFromInt function 00008 Added/Changed Sampler code for Plane Sampler or Cylinder Sampler (GABs Code) 00009 */ 00010 00011 00012 #ifndef BDSEventAction_h 00013 #define BDSEventAction_h 00014 00015 00016 #include "G4UserEventAction.hh" 00017 #include "globals.hh" 00018 #include "BDSAnalysisManager.hh" 00019 #include "BDSTrajectory.hh" 00020 #include <list> 00021 #include <vector> 00022 00023 class BDSEventAction : public G4UserEventAction 00024 { 00025 public: 00026 BDSEventAction(); 00027 virtual ~BDSEventAction(); 00028 00029 public: 00030 virtual void BeginOfEventAction(const G4Event*); 00031 virtual void EndOfEventAction(const G4Event*); 00032 void AddPrimaryHits(); 00033 00034 private: 00035 BDSAnalysisManager* analMan; 00036 G4bool verbose; 00037 G4bool verboseEvent; 00038 G4int verboseEventNumber; 00039 G4bool isBatch; 00040 00041 G4int samplerCollID_plane; 00042 G4int samplerCollID_cylin; 00043 //G4int lWCalorimeterCollID; 00044 G4int energyCounterCollID; 00045 G4int primaryCounterCollID; 00046 00047 G4int printModulo; 00048 00049 BDSTrajectory* Traj; 00050 BDSTrajectoryPoint* trajEndPoint; 00051 G4ThreeVector trajEndPointThreeVector; 00052 std::vector<BDSTrajectory*> interestingTrajectories; 00053 }; 00054 00055 #endif 00056