QwAnalysis
QwSIS3320_LogicalAccumulator Class Reference

SIS3320 sampling ADC accumulator. More...

#include <QwSIS3320_LogicalAccumulator.h>

+ Inheritance diagram for QwSIS3320_LogicalAccumulator:
+ Collaboration diagram for QwSIS3320_LogicalAccumulator:

Public Member Functions

 QwSIS3320_LogicalAccumulator (TString name="")
 
virtual ~QwSIS3320_LogicalAccumulator ()
 
void AddAccumulatorReference (QwSIS3320_Accumulator *accum, Double_t weight)
 
void ProcessEvent ()
 
Int_t ProcessEvBuffer (UInt_t *buffer, UInt_t num_words_left, UInt_t subelement=0)
 Process the CODA event buffer for this element. More...
 
- Public Member Functions inherited from QwSIS3320_Accumulator
 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...
 
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_Accumulatoroperator/= (const Double_t &value)
 
QwSIS3320_Accumulatoroperator*= (const Double_t &value)
 
QwSIS3320_Accumulatoroperator+= (const Double_t &value)
 
QwSIS3320_Accumulatoroperator-= (const Double_t &value)
 
const QwSIS3320_Accumulator operator+ (const QwSIS3320_Accumulator &value) const
 
const QwSIS3320_Accumulator operator- (const QwSIS3320_Accumulator &value) const
 
QwSIS3320_Accumulatoroperator= (const QwSIS3320_Accumulator &value)
 
QwSIS3320_Accumulatoroperator+= (const QwSIS3320_Accumulator &value)
 
QwSIS3320_Accumulatoroperator-= (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
 
- Public Member Functions inherited from VQwDataElement
 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 &paramfile)
 
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 VQwDataElementoperator+= (const VQwDataElement &value)
 Addition-assignment operator. More...
 
virtual VQwDataElementoperator-= (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...
 
- Public Member Functions inherited from MQwHistograms
void ShareHistograms (const MQwHistograms *source)
 Share histogram pointers between objects. More...
 

Private Attributes

std::vector
< QwSIS3320_Accumulator * > 
fAccumulators
 
std::vector< Double_t > fAccumulatorWeights
 

Additional Inherited Members

- Public Types inherited from VQwDataElement
enum  EDataToSave { kRaw = 0, kDerived }
 
- Protected Member Functions inherited from VQwDataElement
void SetNumberOfDataWords (const UInt_t &numwords)
 Set the number of data words in this data element. More...
 
virtual VQwDataElementoperator= (const VQwDataElement &value)
 Arithmetic assignment operator: Should only copy event-based data. More...
 
virtual void UpdateErrorFlag (const UInt_t &error)
 
- Protected Member Functions inherited from MQwHistograms
 MQwHistograms ()
 Default constructor. More...
 
 MQwHistograms (const MQwHistograms &source)
 Copy constructor. More...
 
virtual ~MQwHistograms ()
 Virtual destructor. More...
 
virtual MQwHistogramsoperator= (const MQwHistograms &value)
 
void Fill_Pointer (TH1_ptr hist_ptr, Double_t value)
 
void AddHistogram (TH1 *h)
 Register a histogram. More...
 
- Protected Attributes inherited from QwSIS3320_Accumulator
Double_t fNumberOfSamples
 Number of accumulated samples. More...
 
Double_t fAccumulatorSum
 Accumulator sum. More...
 
Double_t fAccumulatorAvg
 Accumulator average. More...
 
- Protected Attributes inherited from VQwDataElement
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...
 
- Protected Attributes inherited from MQwHistograms
std::vector< TH1_ptrfHistograms
 Histograms associated with this data element. More...
 

Detailed Description

SIS3320 sampling ADC accumulator.

Author
W. Deconinck
Date
2009-09-04 18:06:23

The QwSIS3320_LogicalAccumulator 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 27 of file QwSIS3320_LogicalAccumulator.h.

Constructor & Destructor Documentation

QwSIS3320_LogicalAccumulator::QwSIS3320_LogicalAccumulator ( TString  name = "")
inline

Definition at line 30 of file QwSIS3320_LogicalAccumulator.h.

31  : QwSIS3320_Accumulator(name)
32  { };
QwSIS3320_Accumulator(TString name="")
virtual QwSIS3320_LogicalAccumulator::~QwSIS3320_LogicalAccumulator ( )
inlinevirtual

Definition at line 33 of file QwSIS3320_LogicalAccumulator.h.

33 { };

Member Function Documentation

void QwSIS3320_LogicalAccumulator::AddAccumulatorReference ( QwSIS3320_Accumulator accum,
Double_t  weight 
)

Definition at line 32 of file QwSIS3320_LogicalAccumulator.cc.

References fAccumulators, and fAccumulatorWeights.

Referenced by QwSIS3320_Channel::AddLogicalAccumulator().

34 {
35  if (accum) {
36  fAccumulators.push_back(accum);
37  fAccumulatorWeights.push_back(weight);
38  }
39 }
std::vector< QwSIS3320_Accumulator * > fAccumulators
std::vector< Double_t > fAccumulatorWeights

+ Here is the caller graph for this function:

Int_t QwSIS3320_LogicalAccumulator::ProcessEvBuffer ( UInt_t *  buffer,
UInt_t  num_words_left,
UInt_t  subelement = 0 
)
inlinevirtual

Process the CODA event buffer for this element.

Reimplemented from QwSIS3320_Accumulator.

Definition at line 38 of file QwSIS3320_LogicalAccumulator.h.

38 { return 0; };
void QwSIS3320_LogicalAccumulator::ProcessEvent ( )

Definition at line 25 of file QwSIS3320_LogicalAccumulator.cc.

References fAccumulators, QwSIS3320_Accumulator::fAccumulatorSum, and fAccumulatorWeights.

26 {
27  for (size_t i = 0; i < fAccumulators.size(); i++) {
28  fAccumulatorSum += fAccumulatorWeights[i]*(fAccumulators[i]->GetAccumulatorSum());
29  }
30 }
std::vector< QwSIS3320_Accumulator * > fAccumulators
Double_t fAccumulatorSum
Accumulator sum.
std::vector< Double_t > fAccumulatorWeights

Field Documentation

std::vector<QwSIS3320_Accumulator*> QwSIS3320_LogicalAccumulator::fAccumulators
private

Definition at line 38 of file QwSIS3320_LogicalAccumulator.h.

Referenced by AddAccumulatorReference(), and ProcessEvent().

std::vector<Double_t> QwSIS3320_LogicalAccumulator::fAccumulatorWeights
private

Definition at line 43 of file QwSIS3320_LogicalAccumulator.h.

Referenced by AddAccumulatorReference(), and ProcessEvent().


The documentation for this class was generated from the following files: