interface for event time distribution More...
#include <EvtTimeShiftI.h>
Public Member Functions | |
EvtTimeShiftI (const std::string &config) | |
virtual | ~EvtTimeShiftI () |
virtual void | Config (const std::string &config)=0 |
virtual double | TimeOffset ()=0 |
virtual double | TimeOffset (std::vector< double > v)=0 |
virtual void | PrintConfig (bool verbose=true)=0 |
provide a means of printing the configuration More... | |
TRandom * | GetRandomGenerator () const |
bool | IsRandomGeneratorOwned () const |
void | SetRandomGenerator (TRandom *gen, bool isOwned) |
Protected Attributes | |
TRandom * | fRndmGen |
bool | fIsOwned |
interface for event time distribution
Specific implementations of this class when are used to generate appropriate times relative to the t0 of a 'record' (spill/snarl/trigger...).
Concrete instances of this interface must be configurable from a string.
2015-06-22
Definition at line 29 of file EvtTimeShiftI.h.
evgb::EvtTimeShiftI::EvtTimeShiftI | ( | const std::string & | config | ) |
Definition at line 17 of file EvtTimeShiftI.cxx.
|
virtual |
Definition at line 23 of file EvtTimeShiftI.cxx.
|
pure virtual |
each schema must take a string that configures it it is up to the individual model to parse said string and extract parameters
Implemented in evgb::EvtTimeFlat, evgb::EvtTimeFNALBeam, and evgb::EvtTimeNone.
|
inline |
Allow users some control over random # sequences An "owned" object is expected to be deleted by the EvtTimeShift obj
Definition at line 61 of file EvtTimeShiftI.h.
|
inline |
Definition at line 62 of file EvtTimeShiftI.h.
|
pure virtual |
provide a means of printing the configuration
Implemented in evgb::EvtTimeFlat, evgb::EvtTimeFNALBeam, and evgb::EvtTimeNone.
void evgb::EvtTimeShiftI::SetRandomGenerator | ( | TRandom * | gen, |
bool | isOwned | ||
) |
Definition at line 28 of file EvtTimeShiftI.cxx.
|
pure virtual |
return time (in nanoseconds) for an interaction/event within a record/spill/snarl
version taking array might be used for relative batch fractions that vary on a record-by-record basis
Implemented in evgb::EvtTimeFlat, evgb::EvtTimeFNALBeam, and evgb::EvtTimeNone.
|
pure virtual |
Implemented in evgb::EvtTimeFlat, evgb::EvtTimeFNALBeam, and evgb::EvtTimeNone.
|
protected |
Definition at line 69 of file EvtTimeShiftI.h.
|
protected |
Definition at line 68 of file EvtTimeShiftI.h.