QwAnalysis
|
SIS3320 sampling ADC accumulator. More...
#include <QwSIS3320_Accumulator.h>
Public Member Functions | |
QwSIS3320_Accumulator (TString name="") | |
virtual | ~QwSIS3320_Accumulator () |
Int_t | GetMinValue () const |
Int_t | GetMaxValue () const |
Int_t | GetMinTime () const |
Int_t | GetMaxTime () const |
Double_t | GetNumberOfSamples () const |
Double_t | GetAccumulatorSum () const |
Double_t | GetAccumulatorAvg () const |
void | ClearEventData () |
Clear the event data in this element. More... | |
Int_t | ProcessEvBuffer (UInt_t *buffer, UInt_t num_words_left, UInt_t subelement=0) |
Process the CODA event buffer for this element. More... | |
void | ProcessEvent () |
const QwSIS3320_Accumulator | operator/ (const Double_t &value) const |
const QwSIS3320_Accumulator | operator* (const Double_t &value) const |
const QwSIS3320_Accumulator | operator+ (const Double_t &value) const |
const QwSIS3320_Accumulator | operator- (const Double_t &value) const |
QwSIS3320_Accumulator & | operator/= (const Double_t &value) |
QwSIS3320_Accumulator & | operator*= (const Double_t &value) |
QwSIS3320_Accumulator & | operator+= (const Double_t &value) |
QwSIS3320_Accumulator & | operator-= (const Double_t &value) |
const QwSIS3320_Accumulator | operator+ (const QwSIS3320_Accumulator &value) const |
const QwSIS3320_Accumulator | operator- (const QwSIS3320_Accumulator &value) const |
QwSIS3320_Accumulator & | operator= (const QwSIS3320_Accumulator &value) |
QwSIS3320_Accumulator & | operator+= (const QwSIS3320_Accumulator &value) |
QwSIS3320_Accumulator & | operator-= (const QwSIS3320_Accumulator &value) |
void | Sum (const QwSIS3320_Accumulator &value1, const QwSIS3320_Accumulator &value2) |
void | Difference (const QwSIS3320_Accumulator &value1, const QwSIS3320_Accumulator &value2) |
void | Ratio (const QwSIS3320_Accumulator &numer, const QwSIS3320_Accumulator &denom) |
void | ConstructHistograms (TDirectory *folder, TString &prefix) |
Construct the histograms for this data element. More... | |
void | FillHistograms () |
Fill the histograms for this data element. More... | |
void | ConstructBranchAndVector (TTree *tree, TString &prefix, std::vector< Double_t > &values) |
void | FillTreeVector (std::vector< Double_t > &values) const |
![]() | |
VQwDataElement () | |
Default constructor. More... | |
VQwDataElement (const VQwDataElement &value) | |
Copy constructor. More... | |
virtual | ~VQwDataElement () |
Virtual destructor. More... | |
Bool_t | IsNameEmpty () const |
Is the name of this element empty? More... | |
void | SetElementName (const TString &name) |
Set the name of this element. More... | |
virtual const TString & | GetElementName () const |
Get the name of this element. More... | |
virtual void | LoadChannelParameters (QwParameterFile ¶mfile) |
size_t | GetNumberOfDataWords () |
Get the number of data words in this data element. More... | |
UInt_t | GetGoodEventCount () const |
virtual void | AssignValueFrom (const VQwDataElement *valueptr) |
virtual VQwDataElement & | operator+= (const VQwDataElement &value) |
Addition-assignment operator. More... | |
virtual VQwDataElement & | operator-= (const VQwDataElement &value) |
Subtraction-assignment operator. More... | |
virtual void | Sum (const VQwDataElement &value1, const VQwDataElement &value2) |
Sum operator. More... | |
virtual void | Difference (const VQwDataElement &value1, const VQwDataElement &value2) |
Difference operator. More... | |
virtual void | Ratio (const VQwDataElement &numer, const VQwDataElement &denom) |
Ratio operator. More... | |
virtual void | PrintValue () const |
Print single line of value and error of this data element. More... | |
virtual void | PrintInfo () const |
Print multiple lines of information about this data element. More... | |
virtual void | SetSingleEventCuts (UInt_t errorflag, Double_t min, Double_t max, Double_t stability) |
set the upper and lower limits (fULimit and fLLimit), stability % and the error flag on this channel More... | |
virtual void | PrintErrorCounters () const |
report number of events failed due to HW and event cut failure More... | |
virtual UInt_t | GetEventcutErrorFlag () |
return the error flag on this channel/device More... | |
virtual UInt_t | UpdateErrorFlag () |
Update the error flag based on the error flags of internally contained objects Return paramter is the "Eventcut Error Flag". More... | |
virtual void | SetNeedsExternalClock (Bool_t needed) |
virtual Bool_t | NeedsExternalClock () |
virtual std::string | GetExternalClockName () |
virtual void | SetExternalClockPtr (const VQwHardwareChannel *clock) |
virtual void | SetExternalClockName (const std::string name) |
virtual Double_t | GetNormClockValue () |
TString | GetSubsystemName () const |
Return the name of the inheriting subsystem name. More... | |
void | SetSubsystemName (TString sysname) |
Set the name of the inheriting subsystem name. More... | |
TString | GetModuleType () const |
Return the type of the beam instrument. More... | |
void | SetModuleType (TString ModuleType) |
set the type of the beam instrument More... | |
![]() | |
void | ShareHistograms (const MQwHistograms *source) |
Share histogram pointers between objects. More... | |
Protected Attributes | |
Double_t | fNumberOfSamples |
Number of accumulated samples. More... | |
Double_t | fAccumulatorSum |
Accumulator sum. More... | |
Double_t | fAccumulatorAvg |
Accumulator average. More... | |
![]() | |
TString | fElementName |
Name of this data element. More... | |
UInt_t | fNumberOfDataWords |
Number of raw data words in this data element. More... | |
Int_t | fGoodEventCount |
Number of good events accumulated in this element. More... | |
TString | fSubsystemName |
TString | fModuleType |
UInt_t | fErrorFlag |
This the standard error code generated for the channel that contains the global/local/stability flags and the Device error code (Unique error code for HW failures) More... | |
UInt_t | fErrorConfigFlag |
contains the global/local/stability flags More... | |
![]() | |
std::vector< TH1_ptr > | fHistograms |
Histograms associated with this data element. More... | |
Private Attributes | |
int | fMinValue |
int | fMaxValue |
int | fMinTime |
Value-based accumulator limits. More... | |
int | fMaxTime |
size_t | fTreeArrayIndex |
Time-based accumulator limits. More... | |
size_t | fTreeArrayNumEntries |
Index of this data element in tree. More... | |
Static Private Attributes | |
static const unsigned int | INDEX_NUM = 0 |
Number of entries from this data element. More... | |
static const unsigned int | INDEX_SUM = 1 |
Friends | |
std::ostream & | operator<< (std::ostream &stream, const QwSIS3320_Accumulator &a) |
Additional Inherited Members | |
![]() | |
enum | EDataToSave { kRaw = 0, kDerived } |
![]() | |
void | SetNumberOfDataWords (const UInt_t &numwords) |
Set the number of data words in this data element. More... | |
virtual VQwDataElement & | operator= (const VQwDataElement &value) |
Arithmetic assignment operator: Should only copy event-based data. More... | |
virtual void | UpdateErrorFlag (const UInt_t &error) |
![]() | |
MQwHistograms () | |
Default constructor. More... | |
MQwHistograms (const MQwHistograms &source) | |
Copy constructor. More... | |
virtual | ~MQwHistograms () |
Virtual destructor. More... | |
virtual MQwHistograms & | operator= (const MQwHistograms &value) |
void | Fill_Pointer (TH1_ptr hist_ptr, Double_t value) |
void | AddHistogram (TH1 *h) |
Register a histogram. More... | |
SIS3320 sampling ADC accumulator.
The QwSIS3320_Accumulator should allow convenient access to the accumulator data collected with the SIS3320 for the Compton photon detector. This class implements its own sum, difference, and ratio methods inherited from the general VQwDataElement.
Definition at line 34 of file QwSIS3320_Accumulator.h.
|
inline |
Definition at line 38 of file QwSIS3320_Accumulator.h.
References fMaxTime, fMaxValue, fMinTime, fMinValue, VQwDataElement::SetElementName(), and VQwDataElement::SetNumberOfDataWords().
|
inlinevirtual |
Definition at line 44 of file QwSIS3320_Accumulator.h.
|
inlinevirtual |
Clear the event data in this element.
Reimplemented from VQwDataElement.
Definition at line 59 of file QwSIS3320_Accumulator.h.
References fAccumulatorSum, and fNumberOfSamples.
void QwSIS3320_Accumulator::ConstructBranchAndVector | ( | TTree * | tree, |
TString & | prefix, | ||
std::vector< Double_t > & | values | ||
) |
Definition at line 245 of file QwSIS3320_Accumulator.cc.
References fTreeArrayIndex, fTreeArrayNumEntries, VQwDataElement::GetElementName(), and VQwDataElement::IsNameEmpty().
|
virtual |
Construct the histograms for this data element.
Implements VQwDataElement.
Definition at line 284 of file QwSIS3320_Accumulator.cc.
References QwHistogramHelper::Construct1DHist(), MQwHistograms::fHistograms, VQwDataElement::GetElementName(), gQwHists, and VQwDataElement::IsNameEmpty().
void QwSIS3320_Accumulator::Difference | ( | const QwSIS3320_Accumulator & | value1, |
const QwSIS3320_Accumulator & | value2 | ||
) |
Definition at line 228 of file QwSIS3320_Accumulator.cc.
|
virtual |
Fill the histograms for this data element.
Implements VQwDataElement.
Definition at line 306 of file QwSIS3320_Accumulator.cc.
References MQwHistograms::fHistograms, GetAccumulatorAvg(), GetAccumulatorSum(), GetNumberOfSamples(), and VQwDataElement::IsNameEmpty().
void QwSIS3320_Accumulator::FillTreeVector | ( | std::vector< Double_t > & | values | ) | const |
Definition at line 263 of file QwSIS3320_Accumulator.cc.
References QwLog::endl(), fTreeArrayIndex, fTreeArrayNumEntries, GetAccumulatorSum(), GetNumberOfSamples(), VQwDataElement::IsNameEmpty(), and QwError.
|
inline |
Definition at line 53 of file QwSIS3320_Accumulator.h.
References fAccumulatorSum, and fNumberOfSamples.
Referenced by FillHistograms().
|
inline |
Definition at line 52 of file QwSIS3320_Accumulator.h.
References fAccumulatorSum.
Referenced by FillHistograms(), FillTreeVector(), and operator<<().
|
inline |
|
inline |
|
inline |
Definition at line 48 of file QwSIS3320_Accumulator.h.
References fMinTime.
|
inline |
|
inline |
Definition at line 51 of file QwSIS3320_Accumulator.h.
References fNumberOfSamples.
Referenced by FillHistograms(), FillTreeVector(), and operator<<().
const QwSIS3320_Accumulator QwSIS3320_Accumulator::operator* | ( | const Double_t & | value | ) | const |
Multiplication of factor to accumulated data
value | Right-hand side |
Definition at line 81 of file QwSIS3320_Accumulator.cc.
QwSIS3320_Accumulator & QwSIS3320_Accumulator::operator*= | ( | const Double_t & | value | ) |
Multiplication assignment of factor to accumulated data
value | Right-hand side |
Definition at line 106 of file QwSIS3320_Accumulator.cc.
References fAccumulatorSum, and VQwDataElement::IsNameEmpty().
const QwSIS3320_Accumulator QwSIS3320_Accumulator::operator+ | ( | const Double_t & | value | ) | const |
Addition of offset to accumulated data
value | Right-hand side |
Definition at line 57 of file QwSIS3320_Accumulator.cc.
const QwSIS3320_Accumulator QwSIS3320_Accumulator::operator+ | ( | const QwSIS3320_Accumulator & | value | ) | const |
Addition of accumulated data
value | Right-hand side |
Definition at line 159 of file QwSIS3320_Accumulator.cc.
QwSIS3320_Accumulator & QwSIS3320_Accumulator::operator+= | ( | const Double_t & | value | ) |
Addition assignment of offset to accumulated data
value | Right-hand side |
Definition at line 133 of file QwSIS3320_Accumulator.cc.
References fAccumulatorSum, and VQwDataElement::IsNameEmpty().
QwSIS3320_Accumulator & QwSIS3320_Accumulator::operator+= | ( | const QwSIS3320_Accumulator & | value | ) |
Addition assignment of accumulated data
value | Right-hand side |
Definition at line 197 of file QwSIS3320_Accumulator.cc.
References fAccumulatorSum, fNumberOfSamples, and VQwDataElement::IsNameEmpty().
const QwSIS3320_Accumulator QwSIS3320_Accumulator::operator- | ( | const Double_t & | value | ) | const |
Subtraction of offset from accumulated data
value | Right-hand side |
Definition at line 69 of file QwSIS3320_Accumulator.cc.
const QwSIS3320_Accumulator QwSIS3320_Accumulator::operator- | ( | const QwSIS3320_Accumulator & | value | ) | const |
Subtraction of accumulated data
value | Right-hand side |
Definition at line 171 of file QwSIS3320_Accumulator.cc.
QwSIS3320_Accumulator & QwSIS3320_Accumulator::operator-= | ( | const Double_t & | value | ) |
Subtraction assignment of offset from accumulated data
value | Right-hand side |
Definition at line 146 of file QwSIS3320_Accumulator.cc.
References fAccumulatorSum, and VQwDataElement::IsNameEmpty().
QwSIS3320_Accumulator & QwSIS3320_Accumulator::operator-= | ( | const QwSIS3320_Accumulator & | value | ) |
Subtraction assignment of accumulated data
value | Right-hand side |
Definition at line 211 of file QwSIS3320_Accumulator.cc.
References fAccumulatorSum, fNumberOfSamples, and VQwDataElement::IsNameEmpty().
const QwSIS3320_Accumulator QwSIS3320_Accumulator::operator/ | ( | const Double_t & | value | ) | const |
Division of factor from accumulated data (not division-by-zero safe)
value | Right-hand side |
Definition at line 93 of file QwSIS3320_Accumulator.cc.
QwSIS3320_Accumulator & QwSIS3320_Accumulator::operator/= | ( | const Double_t & | value | ) |
Division assignment of factor from accumulated data (not division-by-zero safe)
value | Right-hand side |
Definition at line 119 of file QwSIS3320_Accumulator.cc.
References fAccumulatorSum, and VQwDataElement::IsNameEmpty().
QwSIS3320_Accumulator & QwSIS3320_Accumulator::operator= | ( | const QwSIS3320_Accumulator & | value | ) |
Assignment of accumulated data
value | Right-hand side |
Definition at line 183 of file QwSIS3320_Accumulator.cc.
References fAccumulatorSum, fNumberOfSamples, and VQwDataElement::IsNameEmpty().
|
virtual |
Process the CODA event buffer for this element.
Implements VQwDataElement.
Reimplemented in QwSIS3320_LogicalAccumulator.
Definition at line 27 of file QwSIS3320_Accumulator.cc.
References QwLog::endl(), fAccumulatorSum, VQwDataElement::fNumberOfDataWords, fNumberOfSamples, and QwWarning.
|
inline |
Definition at line 61 of file QwSIS3320_Accumulator.h.
void QwSIS3320_Accumulator::Ratio | ( | const QwSIS3320_Accumulator & | numer, |
const QwSIS3320_Accumulator & | denom | ||
) |
Definition at line 235 of file QwSIS3320_Accumulator.cc.
References fAccumulatorSum, fNumberOfSamples, and VQwDataElement::IsNameEmpty().
void QwSIS3320_Accumulator::Sum | ( | const QwSIS3320_Accumulator & | value1, |
const QwSIS3320_Accumulator & | value2 | ||
) |
Definition at line 221 of file QwSIS3320_Accumulator.cc.
|
friend |
Definition at line 112 of file QwSIS3320_Accumulator.h.
|
protected |
Accumulator average.
Definition at line 95 of file QwSIS3320_Accumulator.h.
|
protected |
Accumulator sum.
Definition at line 94 of file QwSIS3320_Accumulator.h.
Referenced by ClearEventData(), GetAccumulatorAvg(), GetAccumulatorSum(), operator*=(), operator+=(), operator-=(), operator/=(), operator=(), ProcessEvBuffer(), QwSIS3320_LogicalAccumulator::ProcessEvent(), and Ratio().
|
private |
Definition at line 100 of file QwSIS3320_Accumulator.h.
Referenced by GetMaxTime(), and QwSIS3320_Accumulator().
|
private |
Definition at line 99 of file QwSIS3320_Accumulator.h.
Referenced by GetMaxValue(), and QwSIS3320_Accumulator().
|
private |
Value-based accumulator limits.
Definition at line 100 of file QwSIS3320_Accumulator.h.
Referenced by GetMinTime(), and QwSIS3320_Accumulator().
|
private |
Definition at line 99 of file QwSIS3320_Accumulator.h.
Referenced by GetMinValue(), and QwSIS3320_Accumulator().
|
protected |
Number of accumulated samples.
Definition at line 93 of file QwSIS3320_Accumulator.h.
Referenced by ClearEventData(), GetAccumulatorAvg(), GetNumberOfSamples(), operator+=(), operator-=(), operator=(), ProcessEvBuffer(), and Ratio().
|
private |
Time-based accumulator limits.
Definition at line 103 of file QwSIS3320_Accumulator.h.
Referenced by ConstructBranchAndVector(), and FillTreeVector().
|
private |
Index of this data element in tree.
Definition at line 104 of file QwSIS3320_Accumulator.h.
Referenced by ConstructBranchAndVector(), and FillTreeVector().
|
staticprivate |
Number of entries from this data element.
Definition at line 106 of file QwSIS3320_Accumulator.h.
|
staticprivate |
Definition at line 107 of file QwSIS3320_Accumulator.h.