44 #ifndef CEXMC_RUN_MANAGER_HH 
   45 #define CEXMC_RUN_MANAGER_HH 
   49 #ifdef CEXMC_USE_PERSISTENCY 
   50 #include <boost/archive/binary_oarchive.hpp> 
   59 class  CexmcEventFastSObject;
 
   60 #ifdef CEXMC_USE_CUSTOM_FILTER 
   61 class  CexmcCustomFilterEval;
 
   73                                   G4bool  overrideExistingProject = 
false );
 
   95 #ifdef CEXMC_USE_PERSISTENCY 
   96         void  ReadProject( 
void );
 
   98         void  SaveProject( 
void );
 
  100         void  PrintReadRunData( 
void ) 
const;
 
  102         void  ReadAndPrintEventsData( 
void ) 
const;
 
  106         void  ReplayEvents( 
G4int  nEvents = 0 );
 
  108         void  SeekTo( 
G4int  eventNmb = 1 );
 
  110         void  SkipInteractionsWithoutEDTonWrite( 
G4bool  on = 
true );
 
  112 #ifdef CEXMC_USE_CUSTOM_FILTER 
  113         void  SetCustomFilter( 
const G4String &  cfFileName_ );
 
  140 #ifdef CEXMC_USE_PERSISTENCY 
  141         boost::archive::binary_oarchive *  GetEventsArchive( 
void ) 
const;
 
  143         boost::archive::binary_oarchive *  GetFastEventsArchive( 
void ) 
const;
 
  156 #ifdef CEXMC_USE_PERSISTENCY 
  157         void  DoReadEventLoop( 
G4int  nEvent );
 
  159         void  SaveCurrentTPTEvent( 
const CexmcEventFastSObject &  evFastSObject,
 
  203 #ifdef CEXMC_USE_PERSISTENCY 
  205         boost::archive::binary_oarchive *  eventsArchive;
 
  207         boost::archive::binary_oarchive *  fastEventsArchive;
 
  209         CexmcRunSObject             sObject;
 
  211 #ifdef CEXMC_USE_CUSTOM_FILTER 
  212         CexmcCustomFilterEval *     customFilter;
 
  337 #ifdef CEXMC_USE_PERSISTENCY 
  339 inline boost::archive::binary_oarchive *  CexmcRunManager::GetEventsArchive(
 
  342     return eventsArchive;
 
  346 inline boost::archive::binary_oarchive *  CexmcRunManager::GetFastEventsArchive(
 
  349     return fastEventsArchive;
 
  353 inline void  CexmcRunManager::ReplayEvents( 
G4int  nEvents )
 
  365 inline void  CexmcRunManager::SeekTo( 
G4int  eventNmb )
 
  374 inline void  CexmcRunManager::SkipInteractionsWithoutEDTonWrite( 
G4bool  on )
 
G4bool ShouldGdmlFileBeValidated(void) const 
 
void SetPhysicsManager(CexmcPhysicsManager *physicsManager_)
 
G4String GetProjectsDir(void) const 
 
G4int numberOfEventsProcessed
 
G4bool shouldGdmlFileBeValidated
 
void SetupConstructionHook(void)
 
CexmcPhysicsManager * GetPhysicsManager(void)
 
void DoCommonEventLoop(G4int nEvent, const G4String &cmd, G4int nSelect)
 
virtual void BeamOn(G4int n_event, const char *macroFile=0, G4int n_select=-1)
 
void ReadPreinitProjectData(void)
 
G4String GetGdmlFileName(void) const 
 
void DoEventLoop(G4int nEvent, const char *macroFile, G4int nSelect)
 
virtual ~CexmcRunManager()
 
G4bool ProjectIsRead(void) const 
 
CexmcProductionModelType productionModelType
 
CexmcEventDataVerboseLevel rEvDataVerboseLevel
 
CexmcEventDataVerboseLevel GetEventDataVerboseLevel(void) const 
 
G4String GetGuiMacroName(void) const 
 
CexmcEventCountPolicy eventCountPolicy
 
CexmcPhysicsManager * physicsManager
 
void BeamParticleChangeHook(void)
 
void SetGdmlFileValidation(G4bool on=true)
 
void RegisterScenePrimitives(void)
 
G4String GetProjectId(void) const 
 
void SetGdmlFileName(const G4String &gdmlFileName_)
 
void SetGuiMacroName(const G4String &guiMacroName_)
 
T max(const T t1, const T t2)
brief Return the largest of the two arguments 
 
CexmcEventDataVerboseLevel evDataVerboseLevel
 
CexmcProductionModelType GetProductionModelType(void) const 
 
CexmcEventDataVerboseLevel
 
std::vector< CexmcAngularRange > CexmcAngularRangeList
 
G4bool skipInteractionsWithoutEDTonWrite
 
G4int numberOfEventsProcessedEffective
 
CexmcBasePhysicsUsed basePhysicsUsed
 
CexmcRunManager(const G4String &projectId="", const G4String &rProject="", G4bool overrideExistingProject=false)
 
std::set< CexmcOutputDataType > CexmcOutputDataTypeSet
 
G4bool ProjectIsSaved(void) const 
 
void SetProductionModelType(CexmcProductionModelType productionModelType_)
 
void SetEventCountPolicy(CexmcEventCountPolicy value)
 
void SetEventDataVerboseLevel(CexmcEventDataVerboseLevel value)
 
CexmcRunManagerMessenger * messenger