FEvent/ChannelRecData.h
Go to the documentation of this file.
1 #ifndef _fevt_ChannelRecData_h_
2 #define _fevt_ChannelRecData_h_
3 
4 #include <utl/ShadowPtr.h>
5 #include <utl/Trace.h>
6 #include <utl/MultiTrace.h>
7 
8 #include <fevt/FdConstants.h>
9 
10 #include <set>
11 
12 
13 namespace fevt {
14 
26 
27  public:
30  { return fFADCTrace->GetTrace(source); }
32  { return fFADCTrace->GetTrace(source); }
33 
36  void MakeFADCTrace(unsigned int size, double binning,
38  void MakeFADCTrace(const utl::TraceI& t,
40 
42  bool HasFADCTrace(const FdConstants::LightSource source) const
43  { return fFADCTrace->HasLabel(source); }
44 
49 
52  ConstFADCTraceIterator FADCTracesBegin() const { return fFADCTrace->Begin(); }
53 
56  ConstFADCTraceIterator FADCTracesEnd() const { return fFADCTrace->End(); }
57 
59  bool ChannelIsSaturated() const { return fIsSaturated; }
61  void SetChannelSaturated() { fIsSaturated = true; }
62 
64  void SetFirstSatBin(const int fsb) { fFirstSatBin = fsb; }
66  void SetLastSatBin(const int lsb) { fLastSatBin = lsb; }
67 
69  int GetFirstSatBin() const { return fFirstSatBin; }
71  int GetLastSatBin() const { return fLastSatBin; }
72 
74  bool IsSaturated(const int bin) const { return bin >= fFirstSatBin && bin <= fLastSatBin; }
75 
77  void AddDeSaturatedBin(const int bin);
79  bool IsDeSaturated(const int bin) const;
80 
82  void SetBaseLine(double baseline) { fBaseLine = baseline; }
84  double GetBaseLine() const { return fBaseLine; }
85 
86  private:
89  fBaseLine(0),
90  fIsSaturated(false),
91  fFirstSatBin(0),
92  fLastSatBin(0)
93  { }
94 
96 
98 
99  friend class Channel;
101 
102  double fBaseLine;
106 
107  std::set<unsigned int> fDeSaturedBins;
108  };
109 
110 }
111 
112 
113 #endif
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
FADCTraceIterator FADCTracesBegin()
First std::pair&lt;int source, TraceD* trace&gt;
utl::InitializedShadowPtr< utl::MultiTraceI > fFADCTrace
const utl::TraceI & GetFADCTrace(const FdConstants::LightSource source=FdConstants::eTotal) const
int GetLastSatBin() const
find last saturated bin for this channel
ConstFADCTraceIterator FADCTracesBegin() const
bool IsDeSaturated(const int bin) const
Check if bin is de-saturated.
boost::transform_iterator< LabeledObjectFunctor, typename MultiObjectContainer::const_iterator, LabeledObjectType > ConstIterator
Definition: MultiObject.h:81
utl::MultiTraceI::Iterator FADCTraceIterator
utl::TraceI & GetFADCTrace(const FdConstants::LightSource source=FdConstants::eTotal)
void SetBaseLine(double baseline)
set baseline
LightSource
Possible light sources.
Definition: FdConstants.h:9
void SetLastSatBin(const int lsb)
set last saturated bin for this channel
ChannelRecData()
default ctor: ensure fIsSaturated flag is set to false
Fluorescence Detector Channel Event.
void MakeFADCTrace(unsigned int size, double binning, const FdConstants::LightSource source=FdConstants::eTotal)
bool ChannelIsSaturated() const
check saturation flag for this channel
FADCTraceIterator FADCTracesEnd()
Last std::pair&lt;int source, TraceD* trace&gt;
void SetChannelSaturated()
set saturation flag for this channel
void AddDeSaturatedBin(const int bin)
Add one de-saturated bin to this trace.
int GetFirstSatBin() const
find first saturated bin for this channel
void SetFirstSatBin(const int fsb)
set first saturated bin for this channel
Fluorescence Detector Channel Reconstructed Data Event.
bool IsSaturated(const int bin) const
Check if bin is (low gain) saturated.
utl::MultiTraceI::ConstIterator ConstFADCTraceIterator
ConstFADCTraceIterator FADCTracesEnd() const
double GetBaseLine() const
get baseline
std::set< unsigned int > fDeSaturedBins
bool HasFADCTrace(const FdConstants::LightSource source) const
Check that source /par source is present.

, generated on Tue Sep 26 2023.