PixelSimData.h
Go to the documentation of this file.
1 #ifndef _fevt_PixelSimData_h_
2 #define _fevt_PixelSimData_h_
3 
4 #include <vector>
5 
6 #include <boost/iterator/indirect_iterator.hpp>
7 
8 #include <fevt/FdConstants.h>
9 
10 #include <fdet/Channel.h>
11 
12 #include <utl/Trace.h>
13 #include <utl/MultiTrace.h>
14 #include <utl/ShadowPtr.h>
15 
16 
17 namespace fevt {
18 
28  class PixelSimData {
29 
30  public:
31 
33 
38  { return fPhotonTrace->GetTrace(source); }
40  { return fPhotonTrace->GetTrace(source); }
41 
44  void MakePhotonTrace(unsigned int size, double binning,
48  void ClearPhotonTraces() { fPhotonTrace->Clear(); }
49 
51  bool HasPhotonTrace(const FdConstants::LightSource source) const
52  { return fPhotonTrace->HasLabel(source); }
53 
58 
61  { return fPhotonTrace->Begin(); }
63  { return fPhotonTrace->Begin(); }
64 
67  { return fPhotonTrace->End(); }
69  { return fPhotonTrace->End(); }
70 
71 
72 
74 
79  { return fPhotonWeightSquareTrace->GetTrace(source); }
81  { return fPhotonWeightSquareTrace->GetTrace(source); }
82 
85  void MakePhotonWeightSquareTrace(unsigned int size, double binning,
89 
92  { return fPhotonWeightSquareTrace->HasLabel(source); }
95 
100 
103  { return fPhotonWeightSquareTrace->Begin(); }
105  { return fPhotonWeightSquareTrace->Begin(); }
106 
109  { return fPhotonWeightSquareTrace->End(); }
111  { return fPhotonWeightSquareTrace->End(); }
112 
113 
115  void SetNumSamples(const int nSamp) { fNumSamples = nSamp; }
117  int GetNumSamples() const { return fNumSamples; }
118 
120  void SetMean(const double mean) { fMean = mean; }
122  double GetMean() const { return fMean; }
123 
125  void SetRMS(const double rms) { fRMS = rms; }
127  double GetRMS() const { return fRMS; }
128 
130  void SetThreshold(const int thr) { fThreshold = thr; }
132  int GetThreshold() const { return fThreshold; }
133 
135  void SetMeanBgPhotonFlux(const double mean) { fMeanBgPhotonFlux = mean; }
137  double GetMeanBgPhotonFlux() const { return fMeanBgPhotonFlux; }
138 
139  int GetMaxBoxcarsum() const {return fBoxcarsumMax;}
140  double GetMeanBoxcarsum() const {return fBoxcarsumMean;}
141  double GetRmsBoxcarsum() const {return fBoxcarsumRms;}
142  int GetFltTime() const {return fFltTime;}
143  int GetFltDuration() const {return fFltDuration;}
144 
146  void SetMeanBoxcarsum(double v) {fBoxcarsumMean=v;}
147  void SetRmsBoxcarsum(double v) {fBoxcarsumRms=v;}
148  void SetFltTime(int v) {fFltTime=v;}
149  void SetFltDuration(int v) {fFltDuration=v;}
150 
151  private:
152  PixelSimData();
153  ~PixelSimData();
154 
156  double fMean;
157  double fRMS;
161  utl::InitializedShadowPtr<utl::MultiTraceD> fPhotonWeightSquareTrace; // only used if the light components @ pixel are stored
162 
166  int fFltTime;
168 
169  friend class Pixel;
171 
172  };
173 
174 } //namespace
175 
176 
177 #endif
178 
179 // Configure (x)emacs for this file ...
180 // Local Variables:
181 // mode: c++
182 // End:
pointer with built-in initialization, deletion, deep copying
Definition: ShadowPtr.h:163
boost::transform_iterator< LabeledObjectFunctor, typename MultiObjectContainer::iterator, LabeledObjectType > Iterator
Definition: MultiObject.h:78
bool HasPhotonWeightSquareTrace(const FdConstants::LightSource source) const
Check that trace of sums of squares of weights of simulated photons for source /par source is present...
Definition: PixelSimData.h:91
utl::MultiTraceD::Iterator PhotonWeightSquareTraceIterator
Definition: PixelSimData.h:98
void SetNumSamples(const int nSamp)
Set the no. of samples for running sums.
Definition: PixelSimData.h:115
utl::MultiTraceD::ConstIterator ConstPhotonWeightSquareTraceIterator
Definition: PixelSimData.h:99
PhotonTraceIterator PhotonTracesEnd()
Last std::pair&lt;int source, TraceD * trace&gt;
Definition: PixelSimData.h:66
void SetRmsBoxcarsum(double v)
Definition: PixelSimData.h:147
void MakePhotonWeightSquareTrace(unsigned int size, double binning, const FdConstants::LightSource source=FdConstants::eTotal)
Definition: PixelSimData.cc:54
void ClearPhotonWeightSquareTraces()
Clear all light components&#39; photon-weight-square-traces.
Definition: PixelSimData.h:94
int GetThreshold() const
Get the simulated trigger threshold of the pixel.
Definition: PixelSimData.h:132
const utl::TraceD & GetPhotonWeightSquareTrace(const FdConstants::LightSource source=FdConstants::eTotal) const
Definition: PixelSimData.h:80
double GetMeanBgPhotonFlux() const
Get mean bg photon flux.
Definition: PixelSimData.h:137
ConstPhotonTraceIterator PhotonTracesBegin() const
Definition: PixelSimData.h:62
bool HasPhotonTrace(const FdConstants::LightSource source) const
Check that trace for source /par source is present.
Definition: PixelSimData.h:51
boost::transform_iterator< LabeledObjectFunctor, typename MultiObjectContainer::const_iterator, LabeledObjectType > ConstIterator
Definition: MultiObject.h:81
void SetMeanBgPhotonFlux(const double mean)
Set mean bg photon flux.
Definition: PixelSimData.h:135
int GetFltTime() const
Definition: PixelSimData.h:142
int GetMaxBoxcarsum() const
Definition: PixelSimData.h:139
void SetMeanBoxcarsum(double v)
Definition: PixelSimData.h:146
LightSource
Possible light sources.
Definition: FdConstants.h:9
Fluorescence Detector Pixel event.
Definition: FEvent/Pixel.h:28
void SetMean(const double mean)
Set the ADC baseline.
Definition: PixelSimData.h:120
ConstPhotonTraceIterator PhotonTracesEnd() const
Definition: PixelSimData.h:68
utl::MultiTraceD::Iterator PhotonTraceIterator
Definition: PixelSimData.h:56
utl::TraceD & GetPhotonWeightSquareTrace(const FdConstants::LightSource source=FdConstants::eTotal)
Trace of the sums of squares of simulated photon weights.
Definition: PixelSimData.h:78
ConstPhotonWeightSquareTraceIterator PhotonWeightSquareTracesBegin() const
Definition: PixelSimData.h:104
void ClearPhotonTraces()
Clear all light components&#39; photon traces.
Definition: PixelSimData.h:48
utl::InitializedShadowPtr< utl::MultiTraceD > fPhotonTrace
Definition: PixelSimData.h:160
void SetFltTime(int v)
Definition: PixelSimData.h:148
double GetRMS() const
Get the ADC variance.
Definition: PixelSimData.h:127
void SetThreshold(const int thr)
Set the simulated trigger threshold of the pixel.
Definition: PixelSimData.h:130
PhotonWeightSquareTraceIterator PhotonWeightSquareTracesEnd()
Last std::pair&lt;int source, TraceD * trace&gt;
Definition: PixelSimData.h:108
double GetMeanBoxcarsum() const
Definition: PixelSimData.h:140
int GetNumSamples() const
Get the no. of samples for running sums.
Definition: PixelSimData.h:117
PhotonTraceIterator PhotonTracesBegin()
First std::pair&lt;int source, TraceD * trace&gt;
Definition: PixelSimData.h:60
utl::InitializedShadowPtr< utl::MultiTraceD > fPhotonWeightSquareTrace
Definition: PixelSimData.h:161
void SetRMS(const double rms)
Set the ADC variance.
Definition: PixelSimData.h:125
double GetMean() const
Get the ADC baseline.
Definition: PixelSimData.h:122
utl::TraceD & GetPhotonTrace(const FdConstants::LightSource source=FdConstants::eTotal)
Simulated Photon Trace.
Definition: PixelSimData.h:37
double GetRmsBoxcarsum() const
Definition: PixelSimData.h:141
PhotonWeightSquareTraceIterator PhotonWeightSquareTracesBegin()
First std::pair&lt;int source, TraceD * trace&gt;
Definition: PixelSimData.h:102
const utl::TraceD & GetPhotonTrace(const FdConstants::LightSource source=FdConstants::eTotal) const
Definition: PixelSimData.h:39
utl::MultiTraceD::ConstIterator ConstPhotonTraceIterator
Definition: PixelSimData.h:57
ConstPhotonWeightSquareTraceIterator PhotonWeightSquareTracesEnd() const
Definition: PixelSimData.h:110
void SetFltDuration(int v)
Definition: PixelSimData.h:149
Fluorescence Detector Pixel Simulated Data.
Definition: PixelSimData.h:28
void MakePhotonTrace(unsigned int size, double binning, const FdConstants::LightSource source=FdConstants::eTotal)
Definition: PixelSimData.cc:31
void SetMaxBoxcarsum(int v)
Definition: PixelSimData.h:145
int GetFltDuration() const
Definition: PixelSimData.h:143

, generated on Tue Sep 26 2023.