LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
EvtTimeFNALBeam.h
Go to the documentation of this file.
1 
13 #ifndef SIMB_EVTTIMEFNALBEAM_H
14 #define SIMB_EVTTIMEFNALBEAM_H
15 
16 #include "EvtTimeShiftI.h"
17 #include <string>
18 #include <vector>
19 
20 namespace evgb {
21 
23 
24  public:
25 
26  EvtTimeFNALBeam(const std::string& config);
27  virtual ~EvtTimeFNALBeam();
28 
29  //
30  // complete the EvtTimeShiftI interface:
31  //
32 
36  virtual void Config(const std::string& config );
37 
41  virtual double TimeOffset();
42  virtual double TimeOffset(std::vector<double> bi);
43 
45  virtual void PrintConfig(bool verbose=true);
46 
48  void SetTimeBetweenBuckets(double val) { fTimeBetweenBuckets=val; }
49  double GetTimeBetweenBuckets() const { return fTimeBetweenBuckets; }
50  void SetBucketTimeSigma(double val) { fBucketTimeSigma=val; }
51  double GetBucketTimeSigma() const { return fBucketTimeSigma; }
52  void SetNBucketsPerBatch(int ival) { fNBucketsPerBatch=ival; }
53  int GetNBucketsPerBatch() const { return fNBucketsPerBatch; }
56 
57  void SetBatchIntensities(std::vector<double> bi);
58  void SetDisallowedBatchMask(std::vector<int> disallow);
59 
60  void SetGlobalOffset(double val) { fGlobalOffset=val; }
61  double GetGlobalOffset() const { return fGlobalOffset; }
62 
63  private:
64 
65  void CalculateCPDF(std::vector<double> batchi);
66 
71  std::vector<double> fCummulativeBatchPDF;
72  std::vector<int> fDisallowedBatchMask;
73  double fGlobalOffset;
74 
75  };
76 
77 } // namespace evgb
78 
79 #endif //SIMB_EVTTIMEFNALBEAM_H
void SetBucketTimeSigma(double val)
void SetBatchIntensities(std::vector< double > bi)
int GetNFilledBucketsPerBatch() const
double fGlobalOffset
always displaced by this (in ns)
double GetBucketTimeSigma() const
configurable FNAL Beam time distribution
EvtTimeFNALBeam(const std::string &config)
void SetNBucketsPerBatch(int ival)
double fBucketTimeSigma
how wide is distribution in bucket
interface for event time distribution
Definition: EvtTimeShiftI.h:29
void SetGlobalOffset(double val)
void SetNFilledBucketsPerBatch(int ival)
int GetNBucketsPerBatch() const
virtual void PrintConfig(bool verbose=true)
provide a means of printing the configuration
void CalculateCPDF(std::vector< double > batchi)
virtual void Config(const std::string &config)
double GetTimeBetweenBuckets() const
virtual double TimeOffset()
double GetGlobalOffset() const
std::vector< int > fDisallowedBatchMask
disallow individual batches
double fTimeBetweenBuckets
time between buckets
Physics generators for neutrinos, cosmic rays, and others.
Definition: CRYHelper.cxx:33
std::vector< double > fCummulativeBatchPDF
summed prob for batches
void SetDisallowedBatchMask(std::vector< int > disallow)
void SetTimeBetweenBuckets(double val)
specific methods for this variant