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 "BDSGlobalConstants.hh" 00017 #include "G4UserEventAction.hh" 00018 #include "globals.hh" 00019 #include "BDSAcceleratorComponent.hh" 00020 #include "BDSEnergyCounterSD.hh" 00021 #include "G4Trajectory.hh" 00022 #include "G4TrajectoryContainer.hh" 00023 #include <list> 00024 #include <vector> 00025 00026 00027 00028 class BDSEventAction : public G4UserEventAction 00029 { 00030 public: 00031 BDSEventAction(); 00032 virtual ~BDSEventAction(); 00033 00034 public: 00035 virtual void BeginOfEventAction(const G4Event*); 00036 virtual void EndOfEventAction(const G4Event*); 00037 00038 void SetDrawFlag (G4String val) {drawFlag = val;}; 00039 00040 private: 00041 G4bool verbose; 00042 G4bool verboseStep; 00043 G4bool verboseEvent; 00044 G4int verboseEventNumber; 00045 G4bool isBatch; 00046 G4int nptwiss; 00047 00048 G4int SamplerCollID_plane; 00049 G4int SamplerCollID_cylin; 00050 G4int LWCalorimeterCollID; 00051 // G4int EnergyCounterCollID; 00052 G4String drawFlag; 00053 00054 G4int printModulo; 00055 G4int itsOutputFileNumber; 00056 G4int itsRecordSize; 00057 00058 G4VTrajectory* Traj; 00059 G4VTrajectoryPoint* trajEndPoint; 00060 G4ThreeVector trajEndPointThreeVector; 00061 // G4TrajectoryContainer* interestingTrajectories; 00062 std::vector<G4VTrajectory*> interestingTrajectories; 00063 00064 00065 std::list<BDSAcceleratorComponent*>::const_iterator iBeam; 00066 std::list<BDSEnergyCounterSD*>::const_iterator iEC; 00067 00068 BDSAcceleratorComponent* LastComp; 00069 00070 }; 00071 00072 #endif 00073 00074