LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
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 |
bool | IsRandomGeneratorSeeded () const |
void | SetRandomGenerator (TRandom *gen, bool isOwned) |
Protected Member Functions | |
std::vector< std::string > | GetConfigTokens (const std::string &config) |
Protected Attributes | |
TRandom * | fRndmGen |
bool | fIsOwned |
bool | fIsSeeded |
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 27 of file EvtTimeShiftI.cxx.
References fIsSeeded, fRndmGen, GetConfigTokens(), and seed.
|
virtual |
|
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.
|
protected |
Definition at line 69 of file EvtTimeShiftI.cxx.
References x.
Referenced by evgb::EvtTimeFNALBeam::Config(), EvtTimeShiftI(), and IsRandomGeneratorSeeded().
|
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.
References fRndmGen.
Referenced by evgb::GENIEHelper::GENIEHelper().
|
inline |
|
inline |
Definition at line 63 of file EvtTimeShiftI.h.
References fIsSeeded, GetConfigTokens(), and SetRandomGenerator().
Referenced by evgb::GENIEHelper::GENIEHelper().
|
pure virtual |
provide a means of printing the configuration
Implemented in evgb::EvtTimeFlat, evgb::EvtTimeFNALBeam, and evgb::EvtTimeNone.
Referenced by evgb::GENIEHelper::GENIEHelper(), and evg::AddGenieEventsToArt::ParseTimeConfig().
void evgb::EvtTimeShiftI::SetRandomGenerator | ( | TRandom * | gen, |
bool | isOwned | ||
) |
Definition at line 60 of file EvtTimeShiftI.cxx.
References fIsOwned, and fRndmGen.
Referenced by IsRandomGeneratorSeeded().
|
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.
Referenced by evg::AddGenieEventsToArt::produce(), and evgb::GENIEHelper::Sample().
|
pure virtual |
Implemented in evgb::EvtTimeFlat, evgb::EvtTimeFNALBeam, and evgb::EvtTimeNone.
|
protected |
Definition at line 72 of file EvtTimeShiftI.h.
Referenced by IsRandomGeneratorOwned(), SetRandomGenerator(), and ~EvtTimeShiftI().
|
protected |
Definition at line 73 of file EvtTimeShiftI.h.
Referenced by EvtTimeShiftI(), and IsRandomGeneratorSeeded().
|
protected |
Definition at line 71 of file EvtTimeShiftI.h.
Referenced by EvtTimeShiftI(), GetRandomGenerator(), SetRandomGenerator(), evgb::EvtTimeFNALBeam::TimeOffset(), evgb::EvtTimeFlat::TimeOffset(), and ~EvtTimeShiftI().