LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
configurable FNAL Beam time distribution More...
#include "EvtTimeFNALBeam.h"
Public Member Functions | |
EvtTimeFNALBeam (const std::string &config) | |
virtual | ~EvtTimeFNALBeam () |
virtual void | Config (const std::string &config) |
virtual double | TimeOffset () |
virtual double | TimeOffset (std::vector< double > bi) |
virtual void | PrintConfig (bool verbose=true) |
provide a means of printing the configuration More... | |
void | SetTimeBetweenBuckets (double val) |
specific methods for this variant More... | |
double | GetTimeBetweenBuckets () const |
void | SetBucketTimeSigma (double val) |
double | GetBucketTimeSigma () const |
void | SetNBucketsPerBatch (int ival) |
int | GetNBucketsPerBatch () const |
void | SetNFilledBucketsPerBatch (int ival) |
int | GetNFilledBucketsPerBatch () const |
void | SetBatchIntensities (std::vector< double > bi) |
void | SetDisallowedBatchMask (std::vector< int > disallow) |
void | SetGlobalOffset (double val) |
double | GetGlobalOffset () const |
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 |
Private Member Functions | |
void | CalculateCPDF (std::vector< double > batchi) |
Private Attributes | |
double | fTimeBetweenBuckets |
time between buckets More... | |
double | fBucketTimeSigma |
how wide is distribution in bucket More... | |
int | fNBucketsPerBatch |
int | fNFilledBucketsPerBatch |
std::vector< double > | fCummulativeBatchPDF |
summed prob for batches More... | |
std::vector< int > | fDisallowedBatchMask |
disallow individual batches More... | |
double | fGlobalOffset |
always displaced by this (in ns) More... | |
configurable FNAL Beam time distribution
2015-06-22
Definition at line 22 of file EvtTimeFNALBeam.h.
evgb::EvtTimeFNALBeam::EvtTimeFNALBeam | ( | const std::string & | config | ) |
Definition at line 56 of file EvtTimeFNALBeam.cxx.
References Config(), and SetBatchIntensities().
|
virtual |
Definition at line 71 of file EvtTimeFNALBeam.cxx.
|
private |
Definition at line 252 of file EvtTimeFNALBeam.cxx.
References fCummulativeBatchPDF, fDisallowedBatchMask, and sum.
Referenced by GetGlobalOffset(), SetBatchIntensities(), and TimeOffset().
|
virtual |
each schema must take a string that configures it it is up to the individual model to parse said string and extract parameters
Implements evgb::EvtTimeShiftI.
Definition at line 73 of file EvtTimeFNALBeam.cxx.
References fBucketTimeSigma, fDisallowedBatchMask, fGlobalOffset, fNBucketsPerBatch, fNFilledBucketsPerBatch, fTimeBetweenBuckets, evgb::EvtTimeShiftI::GetConfigTokens(), ksigma2fwhm, and SetBatchIntensities().
Referenced by EvtTimeFNALBeam().
|
inline |
Definition at line 51 of file EvtTimeFNALBeam.h.
References fBucketTimeSigma.
|
protectedinherited |
Definition at line 69 of file EvtTimeShiftI.cxx.
References x.
Referenced by Config(), evgb::EvtTimeShiftI::EvtTimeShiftI(), and evgb::EvtTimeShiftI::IsRandomGeneratorSeeded().
|
inline |
Definition at line 61 of file EvtTimeFNALBeam.h.
References CalculateCPDF(), and fGlobalOffset.
|
inline |
|
inline |
Definition at line 55 of file EvtTimeFNALBeam.h.
References fNFilledBucketsPerBatch, SetBatchIntensities(), and SetDisallowedBatchMask().
|
inlineinherited |
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 evgb::EvtTimeShiftI::fRndmGen.
Referenced by evgb::GENIEHelper::GENIEHelper().
|
inline |
Definition at line 49 of file EvtTimeFNALBeam.h.
References fTimeBetweenBuckets.
|
inlineinherited |
|
inlineinherited |
Definition at line 63 of file EvtTimeShiftI.h.
References evgb::EvtTimeShiftI::fIsSeeded, evgb::EvtTimeShiftI::GetConfigTokens(), and evgb::EvtTimeShiftI::SetRandomGenerator().
Referenced by evgb::GENIEHelper::GENIEHelper().
|
virtual |
provide a means of printing the configuration
Implements evgb::EvtTimeShiftI.
Definition at line 209 of file EvtTimeFNALBeam.cxx.
References fBucketTimeSigma, fCummulativeBatchPDF, fDisallowedBatchMask, fGlobalOffset, fNBucketsPerBatch, fNFilledBucketsPerBatch, and fTimeBetweenBuckets.
void evgb::EvtTimeFNALBeam::SetBatchIntensities | ( | std::vector< double > | bi | ) |
Definition at line 237 of file EvtTimeFNALBeam.cxx.
References CalculateCPDF().
Referenced by Config(), EvtTimeFNALBeam(), and GetNFilledBucketsPerBatch().
|
inline |
Definition at line 50 of file EvtTimeFNALBeam.h.
References fBucketTimeSigma.
void evgb::EvtTimeFNALBeam::SetDisallowedBatchMask | ( | std::vector< int > | disallow | ) |
Definition at line 242 of file EvtTimeFNALBeam.cxx.
References fCummulativeBatchPDF, and fDisallowedBatchMask.
Referenced by GetNFilledBucketsPerBatch().
|
inline |
Definition at line 60 of file EvtTimeFNALBeam.h.
References fGlobalOffset.
|
inline |
|
inline |
Definition at line 54 of file EvtTimeFNALBeam.h.
References fNFilledBucketsPerBatch.
|
inherited |
Definition at line 60 of file EvtTimeShiftI.cxx.
References evgb::EvtTimeShiftI::fIsOwned, and evgb::EvtTimeShiftI::fRndmGen.
Referenced by evgb::EvtTimeShiftI::IsRandomGeneratorSeeded().
|
inline |
specific methods for this variant
Definition at line 48 of file EvtTimeFNALBeam.h.
References fTimeBetweenBuckets.
|
virtual |
return time within a 'record' in nanoseconds version taking array might be used for relative batch fractions that vary on a record-by-record basis
Implements evgb::EvtTimeShiftI.
Definition at line 173 of file EvtTimeFNALBeam.cxx.
References fBucketTimeSigma, fCummulativeBatchPDF, fDisallowedBatchMask, fGlobalOffset, fNBucketsPerBatch, fNFilledBucketsPerBatch, evgb::EvtTimeShiftI::fRndmGen, fTimeBetweenBuckets, and r.
Referenced by TimeOffset().
|
virtual |
Implements evgb::EvtTimeShiftI.
Definition at line 203 of file EvtTimeFNALBeam.cxx.
References CalculateCPDF(), and TimeOffset().
|
private |
how wide is distribution in bucket
Definition at line 68 of file EvtTimeFNALBeam.h.
Referenced by Config(), GetBucketTimeSigma(), PrintConfig(), SetBucketTimeSigma(), and TimeOffset().
|
private |
summed prob for batches
Definition at line 71 of file EvtTimeFNALBeam.h.
Referenced by CalculateCPDF(), PrintConfig(), SetDisallowedBatchMask(), and TimeOffset().
|
private |
disallow individual batches
Definition at line 72 of file EvtTimeFNALBeam.h.
Referenced by CalculateCPDF(), Config(), PrintConfig(), SetDisallowedBatchMask(), and TimeOffset().
|
private |
always displaced by this (in ns)
Definition at line 73 of file EvtTimeFNALBeam.h.
Referenced by Config(), GetGlobalOffset(), PrintConfig(), SetGlobalOffset(), and TimeOffset().
|
protectedinherited |
Definition at line 72 of file EvtTimeShiftI.h.
Referenced by evgb::EvtTimeShiftI::IsRandomGeneratorOwned(), evgb::EvtTimeShiftI::SetRandomGenerator(), and evgb::EvtTimeShiftI::~EvtTimeShiftI().
|
protectedinherited |
Definition at line 73 of file EvtTimeShiftI.h.
Referenced by evgb::EvtTimeShiftI::EvtTimeShiftI(), and evgb::EvtTimeShiftI::IsRandomGeneratorSeeded().
|
private |
Definition at line 69 of file EvtTimeFNALBeam.h.
Referenced by Config(), GetNBucketsPerBatch(), PrintConfig(), SetNBucketsPerBatch(), and TimeOffset().
|
private |
Definition at line 70 of file EvtTimeFNALBeam.h.
Referenced by Config(), GetNFilledBucketsPerBatch(), PrintConfig(), SetNFilledBucketsPerBatch(), and TimeOffset().
|
protectedinherited |
Definition at line 71 of file EvtTimeShiftI.h.
Referenced by evgb::EvtTimeShiftI::EvtTimeShiftI(), evgb::EvtTimeShiftI::GetRandomGenerator(), evgb::EvtTimeShiftI::SetRandomGenerator(), TimeOffset(), evgb::EvtTimeFlat::TimeOffset(), and evgb::EvtTimeShiftI::~EvtTimeShiftI().
|
private |
time between buckets
Definition at line 67 of file EvtTimeFNALBeam.h.
Referenced by Config(), GetTimeBetweenBuckets(), PrintConfig(), SetTimeBetweenBuckets(), and TimeOffset().