// M Hentz, 2018 #ifndef RunAccumulator_h #define RunAccumulator_h 1 #include "G4Run.hh" #include "G4Event.hh" #include "PhaseSpaceHit.hh" #include class RunAccumulator : public G4Run { public: RunAccumulator( G4int, G4double ); RunAccumulator( G4int, G4double, G4double ); virtual ~RunAccumulator(); public: virtual void RecordEvent(const G4Event*); void InitialiseOutputFiles( G4bool ); void WritePhaseSpaceHitsToFile( G4String, std::vector ); void Dump(); void SetDumpMode( G4bool dumpSingle ) { fDumpSingle = dumpSingle; } void SetDetSpacing( G4double detSpacing ) { fDetSpacing = detSpacing; } void SetDetDistance( G4double detDistance ) { fDetDistance = detDistance; } private: std::vector> fRunVector; std::vector fRunOutputFilenames; G4int fDumpCount; G4int fDumpInterval; G4int fBufferSize; G4double fDetPosition; G4double fDetDistance; G4double fDetSpacing; G4bool fDumpSingle; std::ofstream* psfile; }; #endif