00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef GLG4VEventAction_h
00012 #define GLG4VEventAction_h 1
00013
00014 #include "globals.hh"
00015 #include "G4UserEventAction.hh"
00016 #include "G4UImessenger.hh"
00017
00018 #include "fstream"
00019
00020 #include "GLG4HitPMTCollection.hh"
00021
00022 #include "G4Event.hh"
00023 #include "G4EventManager.hh"
00024 #include "G4Run.hh"
00025 #include "G4RunManager.hh"
00026 #include "G4HCofThisEvent.hh"
00027 #include "G4VHitsCollection.hh"
00028 #include "G4TrajectoryContainer.hh"
00029 #include "G4Trajectory.hh"
00030 #include "G4VVisManager.hh"
00031 #include "G4SDManager.hh"
00032 #include "G4RunManager.hh"
00033 #include "G4DigiManager.hh"
00034 #include "G4UImanager.hh"
00035 #include "G4UnitsTable.hh"
00036 #include "G4ios.hh"
00037 #include "G4UIcmdWithAString.hh"
00038
00039 class G4UIcmdWithAString;
00040 class G4UIcmdWithAnInteger;
00041
00042 class GLG4VEventAction :
00043 public G4UserEventAction,
00044 public G4UImessenger
00045 {
00046 public:
00047
00048 GLG4VEventAction();
00049 ~GLG4VEventAction();
00050
00051
00052 virtual void BeginOfEventAction(const G4Event*);
00053 virtual void EndOfEventAction(const G4Event*);
00054
00055
00056 virtual void SetNewValue(G4UIcommand * command, G4String newValue);
00057 G4String GetCurrentValue(G4UIcommand * command);
00058
00059
00060 static GLG4HitPMTCollection* GetTheHitPMTCollection() { return &theHitPMTCollection; }
00061 static G4bool GetDoParameterizedScintillation() { return fgDoParameterizedScintillation; }
00062
00063 protected:
00064
00065 static GLG4HitPMTCollection theHitPMTCollection;
00066
00067 static G4bool flagFullOutputMode;
00068 G4String drawFlag;
00069
00070 public:
00071 virtual void OpenFile(const G4String filename,G4bool outputMode) = 0;
00072 virtual void CloseFile() = 0;
00073 virtual void FillData(const G4Event*) = 0;
00074 virtual void Clear() = 0;
00075
00076 protected:
00077 G4UIcmdWithAString *fDrawCmd;
00078 G4UIcommand *fFileCmd;
00079 G4UIcmdWithAString *fModeCmd;
00080
00081 static G4bool fgDoParameterizedScintillation;
00082 };
00083
00084 #endif