JAPAn
Just Another Parity Analyzer
|
Abstract base for concrete hardware channels implementing dual-operator pattern. More...
#include <VQwHardwareChannel.h>
Public Member Functions | |
VQwHardwareChannel () | |
VQwHardwareChannel (const VQwHardwareChannel &value) | |
VQwHardwareChannel (const VQwHardwareChannel &value, VQwDataElement::EDataToSave datatosave) | |
~VQwHardwareChannel () override | |
void | CopyFrom (const VQwHardwareChannel &value) |
void | ProcessOptions () |
virtual VQwHardwareChannel * | Clone () const |
virtual VQwHardwareChannel * | Clone (VQwDataElement::EDataToSave datatosave) const =0 |
size_t | GetNumberOfDataWords () |
Get the number of data words in this data element. | |
size_t | GetNumberOfSubelements () |
Get the number of subelements in this data element. | |
Int_t | GetRawValue () const |
Double_t | GetValue () const |
Double_t | GetValueM2 () const |
Double_t | GetValueError () const |
Double_t | GetValueWidth () const |
virtual Int_t | GetRawValue (size_t element) const =0 |
virtual Double_t | GetValue (size_t element) const =0 |
virtual Double_t | GetValueM2 (size_t element) const =0 |
virtual Double_t | GetValueError (size_t element) const =0 |
Double_t | GetValueWidth (size_t element) const |
void | ClearEventData () override |
Clear the event data in this element. | |
virtual void | Scale (Double_t Offset)=0 |
void | InitializeChannel (TString name) |
Initialize the fields in this object. | |
virtual void | InitializeChannel (TString name, TString datatosave)=0 |
virtual void | InitializeChannel (TString subsystem, TString instrumenttype, TString name, TString datatosave)=0 |
virtual Int_t | ApplyHWChecks ()=0 |
void | SetEventCutMode (Int_t bcuts) |
virtual Bool_t | ApplySingleEventCuts ()=0 |
virtual Bool_t | CheckForBurpFail (const VQwHardwareChannel *event) |
void | SetSingleEventCuts (Double_t min, Double_t max) |
Set the upper and lower limits (fULimit and fLLimit) for this channel. | |
void | SetSingleEventCuts (UInt_t errorflag, Double_t min, Double_t max, Double_t stability=-1.0, Double_t BurpLevel=-1.0) |
Inherited from VQwDataElement to set the upper and lower limits (fULimit and fLLimit), stability % and the error flag on this channel. | |
Double_t | GetEventCutUpperLimit () const |
Double_t | GetEventCutLowerLimit () const |
Double_t | GetStabilityLimit () const |
UInt_t | UpdateErrorFlag () override |
Update the error flag based on the error flags of internally contained objects Return parameter is the "Eventcut Error Flag". | |
void | UpdateErrorFlag (const VQwHardwareChannel &elem) |
virtual UInt_t | GetErrorCode () const |
virtual void | IncrementErrorCounters ()=0 |
virtual void | ProcessEvent ()=0 |
virtual void | CalculateRunningAverage ()=0 |
VQwHardwareChannel & | operator= (const VQwHardwareChannel &value) |
Arithmetic assignment operator: Should only copy event-based data. | |
void | AssignScaledValue (const VQwHardwareChannel &value, Double_t scale) |
virtual void | Ratio (const VQwHardwareChannel *numer, const VQwHardwareChannel *denom) |
void | AssignValueFrom (const VQwDataElement *valueptr) override=0 |
virtual VQwHardwareChannel & | operator+= (const VQwHardwareChannel &input)=0 |
virtual VQwHardwareChannel & | operator-= (const VQwHardwareChannel &input)=0 |
virtual VQwHardwareChannel & | operator*= (const VQwHardwareChannel &input)=0 |
virtual VQwHardwareChannel & | operator/= (const VQwHardwareChannel &input)=0 |
virtual void | ScaledAdd (Double_t scale, const VQwHardwareChannel *value)=0 |
void | SetPedestal (Double_t ped) |
Double_t | GetPedestal () const |
void | SetCalibrationFactor (Double_t factor) |
Double_t | GetCalibrationFactor () const |
void | AddEntriesToList (std::vector< QwDBInterface > &row_list) |
virtual void | AddErrEntriesToList (std::vector< QwErrDBInterface > &) |
virtual void | AccumulateRunningSum (const VQwHardwareChannel *value, Int_t count=0, Int_t ErrorMask=0xFFFFFFF) |
virtual void | DeaccumulateRunningSum (const VQwHardwareChannel *value, Int_t ErrorMask=0xFFFFFFF) |
virtual void | AddValueFrom (const VQwHardwareChannel *valueptr)=0 |
virtual void | SubtractValueFrom (const VQwHardwareChannel *valueptr)=0 |
virtual void | MultiplyBy (const VQwHardwareChannel *valueptr)=0 |
virtual void | DivideBy (const VQwHardwareChannel *valueptr)=0 |
virtual void | ConstructBranchAndVector (TTree *tree, TString &prefix, QwRootTreeBranchVector &values)=0 |
virtual void | ConstructBranch (TTree *tree, TString &prefix)=0 |
void | ConstructBranch (TTree *tree, TString &prefix, QwParameterFile &modulelist) |
virtual void | FillTreeVector (QwRootTreeBranchVector &values) const =0 |
virtual void | CopyParameters (const VQwHardwareChannel *) |
void | UpdateErrorFlag (const UInt_t &error) |
![]() | |
VQwDataElement () | |
Default constructor. | |
VQwDataElement (const VQwDataElement &value) | |
Copy constructor. | |
~VQwDataElement () override | |
Virtual destructor. | |
void | CopyFrom (const VQwDataElement &value) |
Bool_t | IsNameEmpty () const |
Is the name of this element empty? | |
void | SetElementName (const TString &name) |
Set the name of this element. | |
virtual const TString & | GetElementName () const |
Get the name of this element. | |
virtual void | LoadChannelParameters (QwParameterFile &) |
virtual void | LoadMockDataParameters (QwParameterFile &) |
virtual Int_t | ProcessEvBuffer (UInt_t *buffer, UInt_t num_words_left, UInt_t subelement=0)=0 |
Process the CODA event buffer for this element. | |
size_t | GetNumberOfDataWords () |
Get the number of data words in this data element. | |
UInt_t | GetGoodEventCount () const |
VQwDataElement & | operator+= (const VQwDataElement &) |
Addition-assignment operator. | |
VQwDataElement & | operator-= (const VQwDataElement &) |
Subtraction-assignment operator. | |
void | Sum (const VQwDataElement &, const VQwDataElement &) |
Sum operator (base class fallback throws runtime error) | |
void | Difference (const VQwDataElement &, const VQwDataElement &) |
Difference operator (base class fallback throws runtime error) | |
void | Ratio (const VQwDataElement &, const VQwDataElement &) |
Ratio operator (base class fallback throws runtime error) | |
virtual void | ConstructHistograms (TDirectory *folder, TString &prefix)=0 |
Construct the histograms for this data element. | |
virtual void | FillHistograms ()=0 |
Fill the histograms for this data element. | |
virtual void | PrintValue () const |
Print single line of value and error of this data element. | |
virtual void | PrintInfo () const |
Print multiple lines of information about this data element. | |
void | SetSingleEventCuts (UInt_t, Double_t, Double_t, Double_t) |
set the upper and lower limits (fULimit and fLLimit), stability % and the error flag on this channel | |
virtual void | PrintErrorCounters () const |
report number of events failed due to HW and event cut failure | |
Bool_t | CheckForBurpFail (const VQwDataElement *) |
virtual UInt_t | GetEventcutErrorFlag () |
return the error flag on this channel/device | |
virtual void | SetNeedsExternalClock (Bool_t) |
virtual Bool_t | NeedsExternalClock () |
virtual std::string | GetExternalClockName () |
virtual void | SetExternalClockPtr (const VQwHardwareChannel *) |
virtual void | SetExternalClockName (const std::string) |
virtual Double_t | GetNormClockValue () |
TString | GetSubsystemName () const |
Return the name of the inheriting subsystem name. | |
void | SetSubsystemName (TString sysname) |
Set the name of the inheriting subsystem name. | |
TString | GetModuleType () const |
Return the type of the beam instrument. | |
void | SetModuleType (TString ModuleType) |
set the type of the beam instrument | |
![]() | |
void | ShareHistograms (const MQwHistograms *source) |
Share histogram pointers between objects. | |
Protected Member Functions | |
void | SetNumberOfDataWords (const UInt_t &numwords) |
Set the number of data words in this data element. | |
void | SetNumberOfSubElements (const size_t elements) |
Set the number of data words in this data element. | |
void | SetDataToSave (TString datatosave) |
Set the flag indicating if raw or derived values are in this data element. | |
void | SetDataToSave (VQwDataElement::EDataToSave datatosave) |
Set the flag indicating if raw or derived values are in this data element. | |
void | SetDataToSaveByPrefix (const TString &prefix) |
Set the flag indicating if raw or derived values are in this data element based on prefix. | |
void | RangeCheck (size_t element) const |
Checks that the requested element is in range, to be used in accesses to subelements similar to std::vector::at(). | |
![]() | |
void | SetNumberOfDataWords (const UInt_t &numwords) |
Set the number of data words in this data element. | |
VQwDataElement & | operator= (const VQwDataElement &value) |
Arithmetic assignment operator: Should only copy event-based data. | |
void | UpdateErrorFlag (const UInt_t &error) |
![]() | |
MQwHistograms () | |
Default constructor. | |
MQwHistograms (const MQwHistograms &source) | |
Copy constructor. | |
virtual | ~MQwHistograms () |
Virtual destructor. | |
MQwHistograms & | operator= (const MQwHistograms &value) |
void | Fill_Pointer (TH1_ptr hist_ptr, Double_t value) |
void | AddHistogram (TH1 *h) |
Register a histogram. | |
Protected Attributes | |
UInt_t | fNumberOfDataWords |
Number of raw data words in this data element. | |
UInt_t | fNumberOfSubElements |
Number of subelements in this data element. | |
EDataToSave | fDataToSave |
size_t | fTreeArrayIndex |
size_t | fTreeArrayNumEntries |
Channel calibration | |
Double_t | fPedestal |
Double_t | fCalibrationFactor |
Bool_t | kFoundPedestal |
Bool_t | kFoundGain |
Single event cuts and errors | |
Int_t | bEVENTCUTMODE |
Double_t | fULimit |
Double_t | fLLimit |
Double_t | fStability |
Double_t | fBurpThreshold |
Int_t | fBurpCountdown |
![]() | |
TString | fElementName |
Name of this data element. | |
UInt_t | fNumberOfDataWords |
Number of raw data words in this data element. | |
UInt_t | fGoodEventCount |
Number of good events accumulated in this element. | |
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) | |
UInt_t | fErrorConfigFlag |
contains the global/local/stability flags | |
![]() | |
std::vector< TH1_ptr > | fHistograms |
Histograms associated with this data element. | |
Global event cuts | |
static Int_t | fBurpHoldoff = 10 |
static void | SetBurpHoldoff (Int_t holdoff) |
Additional Inherited Members | |
![]() | |
enum | EDataToSave { kRaw = 0 , kDerived , kMoments } |
Abstract base for concrete hardware channels implementing dual-operator pattern.
This class extends VQwDataElement to provide common services for hardware channel implementations that represent single physical readouts (ADC channels, scalers, etc.). It enforces the dual-operator architectural pattern at the channel level and provides infrastructure for calibration, cuts, and statistics.
Required Operator Pairs:
QwVQWK_Channel& operator+=(const QwVQWK_Channel&)
(type-specific)VQwHardwareChannel& operator+=(const VQwHardwareChannel&)
(polymorphic)Polymorphic Delegation Pattern:
Definition at line 93 of file VQwHardwareChannel.h.
VQwHardwareChannel::VQwHardwareChannel | ( | ) |
Class: VQwHardwareChannel Virtual base class to support common functions for all hardware channel data elements. Only the data element classes which contain raw data from one physical channel (such as QwVQWK_Channel, QwScaler_Channel, etc.) should inherit from this class.
Default constructor: initialize limits, error flags, and process options.
Definition at line 23 of file VQwHardwareChannel.cc.
References fBurpThreshold, fDataToSave, VQwDataElement::fErrorConfigFlag, VQwDataElement::fErrorFlag, fLLimit, fNumberOfDataWords, fNumberOfSubElements, fULimit, and VQwDataElement::kRaw.
Referenced by QwADC18_Channel::AccumulateRunningSum(), QwMollerADC_Channel::AccumulateRunningSum(), QwVQWK_Channel::AccumulateRunningSum(), AccumulateRunningSum(), VQwScaler_Channel::AccumulateRunningSum(), QwADC18_Channel::AddValueFrom(), QwMollerADC_Channel::AddValueFrom(), QwVQWK_Channel::AddValueFrom(), AddValueFrom(), VQwScaler_Channel::AddValueFrom(), AssignScaledValue(), CheckForBurpFail(), QwADC18_Channel::Clone(), QwMollerADC_Channel::Clone(), QwScaler_Channel< data_mask, data_shift >::Clone(), QwVQWK_Channel::Clone(), Clone(), Clone(), CopyFrom(), QwMollerADC_Channel::CopyParameters(), CopyParameters(), DeaccumulateRunningSum(), QwADC18_Channel::DivideBy(), QwMollerADC_Channel::DivideBy(), QwVQWK_Channel::DivideBy(), DivideBy(), VQwScaler_Channel::DivideBy(), QwADC18_Channel::MultiplyBy(), QwMollerADC_Channel::MultiplyBy(), QwVQWK_Channel::MultiplyBy(), MultiplyBy(), VQwScaler_Channel::MultiplyBy(), QwADC18_Channel::operator*=(), QwMollerADC_Channel::operator*=(), QwVQWK_Channel::operator*=(), operator*=(), VQwScaler_Channel::operator*=(), QwADC18_Channel::operator+=(), QwMollerADC_Channel::operator+=(), QwVQWK_Channel::operator+=(), operator+=(), VQwScaler_Channel::operator+=(), QwADC18_Channel::operator-=(), QwMollerADC_Channel::operator-=(), QwVQWK_Channel::operator-=(), operator-=(), VQwScaler_Channel::operator-=(), QwADC18_Channel::operator/=(), QwMollerADC_Channel::operator/=(), QwVQWK_Channel::operator/=(), operator/=(), VQwScaler_Channel::operator/=(), operator=(), QwADC18_Channel::QwADC18_Channel(), QwADC18_Channel::QwADC18_Channel(), QwMollerADC_Channel::QwMollerADC_Channel(), QwMollerADC_Channel::QwMollerADC_Channel(), QwVQWK_Channel::QwVQWK_Channel(), QwVQWK_Channel::QwVQWK_Channel(), Ratio(), QwADC18_Channel::ScaledAdd(), QwMollerADC_Channel::ScaledAdd(), QwVQWK_Channel::ScaledAdd(), ScaledAdd(), VQwScaler_Channel::ScaledAdd(), VQwScaler_Channel::SetExternalClockPtr(), QwMollerADC_Channel::SetRawEventData(), QwADC18_Channel::SubtractValueFrom(), QwMollerADC_Channel::SubtractValueFrom(), QwVQWK_Channel::SubtractValueFrom(), SubtractValueFrom(), VQwScaler_Channel::SubtractValueFrom(), UpdateErrorFlag(), VQwHardwareChannel(), VQwHardwareChannel(), VQwScaler_Channel::VQwScaler_Channel(), and VQwScaler_Channel::VQwScaler_Channel().
VQwHardwareChannel::VQwHardwareChannel | ( | const VQwHardwareChannel & | value | ) |
Copy constructor: duplicate all channel state and configuration.
Definition at line 36 of file VQwHardwareChannel.cc.
References bEVENTCUTMODE, fBurpCountdown, fBurpThreshold, fCalibrationFactor, fDataToSave, fLLimit, fNumberOfDataWords, fNumberOfSubElements, fPedestal, fStability, fTreeArrayIndex, fTreeArrayNumEntries, fULimit, kFoundGain, kFoundPedestal, VQwDataElement::VQwDataElement(), and VQwHardwareChannel().
VQwHardwareChannel::VQwHardwareChannel | ( | const VQwHardwareChannel & | value, |
VQwDataElement::EDataToSave | datatosave ) |
Copy constructor with data-to-save override.
Definition at line 57 of file VQwHardwareChannel.cc.
References bEVENTCUTMODE, fBurpCountdown, fBurpThreshold, fCalibrationFactor, fDataToSave, fLLimit, fNumberOfDataWords, fNumberOfSubElements, fPedestal, fStability, fTreeArrayIndex, fTreeArrayNumEntries, fULimit, kFoundGain, kFoundPedestal, VQwDataElement::VQwDataElement(), and VQwHardwareChannel().
|
inlineoverride |
Definition at line 106 of file VQwHardwareChannel.h.
|
inlinevirtual |
Reimplemented in QwADC18_Channel, QwMollerADC_Channel, QwVQWK_Channel, and VQwScaler_Channel.
Definition at line 248 of file VQwHardwareChannel.h.
References AccumulateRunningSum(), QwLog::endl(), VQwDataElement::fGoodEventCount, kPreserveError, QwError, and VQwHardwareChannel().
Referenced by AccumulateRunningSum(), DeaccumulateRunningSum(), and VQwScaler_Channel::PrintErrorCounterTail().
void VQwHardwareChannel::AddEntriesToList | ( | std::vector< QwDBInterface > & | row_list | ) |
|
inlinevirtual |
Definition at line 245 of file VQwHardwareChannel.h.
|
pure virtual |
Implemented in QwADC18_Channel, QwMollerADC_Channel, QwVQWK_Channel, and VQwScaler_Channel.
References VQwHardwareChannel().
|
pure virtual |
Implemented in QwADC18_Channel, QwMollerADC_Channel, QwVQWK_Channel, and VQwScaler_Channel.
|
pure virtual |
Implemented in QwADC18_Channel, QwMollerADC_Channel, QwVQWK_Channel, and VQwScaler_Channel.
|
inline |
Definition at line 215 of file VQwHardwareChannel.h.
References AssignValueFrom(), Scale(), and VQwHardwareChannel().
|
overridepure virtual |
Reimplemented from VQwDataElement.
Implemented in QwADC18_Channel, QwMollerADC_Channel, QwVQWK_Channel, and VQwScaler_Channel.
References VQwDataElement::VQwDataElement().
Referenced by AssignScaledValue(), VQwDataHandler::CalcOneOutput(), and Ratio().
|
pure virtual |
Implemented in QwADC18_Channel, QwMollerADC_Channel, QwVQWK_Channel, and VQwScaler_Channel.
|
inlinevirtual |
Definition at line 165 of file VQwHardwareChannel.h.
References fBurpCountdown, fBurpHoldoff, fBurpThreshold, VQwDataElement::fErrorFlag, GetValue(), kErrorFlag_BurpCut, and VQwHardwareChannel().
|
inlineoverridevirtual |
Clear the event data in this element.
Reimplemented from VQwDataElement.
Reimplemented in VQwScaler_Channel.
Definition at line 145 of file VQwHardwareChannel.h.
References VQwDataElement::ClearEventData().
Referenced by VQwDataHandler::CalcOneOutput().
|
inlinevirtual |
Reimplemented in QwADC18_Channel, QwMollerADC_Channel, QwScaler_Channel< data_mask, data_shift >, QwScaler_Channel< 0x00ffffff, 0 >, QwScaler_Channel< 0x00ffffff, 0 >, and QwVQWK_Channel.
Definition at line 112 of file VQwHardwareChannel.h.
References Clone(), fDataToSave, and VQwHardwareChannel().
Referenced by Clone(), QwCombiner::ConnectChannels(), QwCombiner::ConnectChannels(), VQwDataHandler::ConnectChannels(), and QwScaler_Channel< 0x00ffffff, 0 >::CopyFrom().
|
pure virtual |
Implemented in QwADC18_Channel, QwMollerADC_Channel, QwScaler_Channel< data_mask, data_shift >, QwScaler_Channel< data_mask, data_shift >, QwScaler_Channel< data_mask, data_shift >, QwScaler_Channel< 0x00ffffff, 0 >, QwScaler_Channel< 0x00ffffff, 0 >, QwScaler_Channel< 0x00ffffff, 0 >, QwScaler_Channel< 0x00ffffff, 0 >, QwScaler_Channel< 0x00ffffff, 0 >, and QwVQWK_Channel.
References VQwDataElement::UpdateErrorFlag(), and VQwHardwareChannel().
|
pure virtual |
Implemented in QwADC18_Channel, QwMollerADC_Channel, QwVQWK_Channel, and VQwScaler_Channel.
Referenced by ConstructBranch().
void VQwHardwareChannel::ConstructBranch | ( | TTree * | tree, |
TString & | prefix, | ||
QwParameterFile & | modulelist ) |
Build database interface rows for all subelements of this channel. Conditionally construct tree branch if this channel name appears in the module list filter.
Definition at line 149 of file VQwHardwareChannel.cc.
References ConstructBranch(), VQwDataElement::GetElementName(), and QwParameterFile::HasValue().
|
pure virtual |
void VQwHardwareChannel::CopyFrom | ( | const VQwHardwareChannel & | value | ) |
Copy all state from another hardware channel instance.
Definition at line 78 of file VQwHardwareChannel.cc.
References bEVENTCUTMODE, VQwDataElement::CopyFrom(), fBurpCountdown, fBurpThreshold, fCalibrationFactor, fDataToSave, fLLimit, fNumberOfDataWords, fNumberOfSubElements, fPedestal, fStability, fTreeArrayIndex, fTreeArrayNumEntries, fULimit, kFoundGain, kFoundPedestal, and VQwHardwareChannel().
Referenced by QwMollerADC_Channel::CopyFrom(), QwVQWK_Channel::CopyFrom(), and VQwScaler_Channel::CopyFrom().
|
inlinevirtual |
Reimplemented in QwMollerADC_Channel.
Definition at line 273 of file VQwHardwareChannel.h.
References VQwHardwareChannel().
|
inlinevirtual |
Reimplemented in QwADC18_Channel, QwMollerADC_Channel, QwVQWK_Channel, and VQwScaler_Channel.
Definition at line 255 of file VQwHardwareChannel.h.
References AccumulateRunningSum(), and VQwHardwareChannel().
Referenced by VQwScaler_Channel::PrintErrorCounterTail().
|
pure virtual |
Implemented in QwADC18_Channel, QwMollerADC_Channel, QwVQWK_Channel, and VQwScaler_Channel.
References VQwHardwareChannel().
|
pure virtual |
|
inline |
|
inlinevirtual |
|
inline |
|
inline |
|
inline |
Get the number of data words in this data element.
Definition at line 120 of file VQwHardwareChannel.h.
References fNumberOfDataWords.
|
inline |
Get the number of subelements in this data element.
Definition at line 123 of file VQwHardwareChannel.h.
References fNumberOfSubElements.
|
inline |
|
inline |
Definition at line 125 of file VQwHardwareChannel.h.
References GetRawValue().
Referenced by GetRawValue(), and VQwScaler_Channel::PrintErrorCounterTail().
|
pure virtual |
Implemented in QwADC18_Channel, QwMollerADC_Channel, QwVQWK_Channel, and VQwScaler_Channel.
|
inline |
|
inline |
Definition at line 126 of file VQwHardwareChannel.h.
References GetValue().
Referenced by CheckForBurpFail(), GetValue(), VQwScaler_Channel::PrintErrorCounterTail(), QwBeamLine::WritePromptSummary(), VQwDataHandler::WritePromptSummary(), and VQwDetectorArray::WritePromptSummary().
|
pure virtual |
Implemented in QwADC18_Channel, QwMollerADC_Channel, QwVQWK_Channel, and VQwScaler_Channel.
|
inline |
Definition at line 128 of file VQwHardwareChannel.h.
References GetValueError().
Referenced by GetValueError(), GetValueWidth(), VQwScaler_Channel::PrintErrorCounterTail(), QwBeamLine::WritePromptSummary(), VQwDataHandler::WritePromptSummary(), and VQwDetectorArray::WritePromptSummary().
|
pure virtual |
Implemented in QwADC18_Channel, QwMollerADC_Channel, QwVQWK_Channel, and VQwScaler_Channel.
|
inline |
Definition at line 127 of file VQwHardwareChannel.h.
References GetValueM2().
Referenced by GetValueM2(), and VQwScaler_Channel::PrintErrorCounterTail().
|
pure virtual |
Implemented in QwADC18_Channel, QwMollerADC_Channel, QwVQWK_Channel, and VQwScaler_Channel.
|
inline |
Definition at line 129 of file VQwHardwareChannel.h.
References GetValueWidth().
Referenced by GetValueWidth(), VQwScaler_Channel::PrintErrorCounterTail(), QwBeamLine::WritePromptSummary(), VQwDataHandler::WritePromptSummary(), and VQwDetectorArray::WritePromptSummary().
|
inline |
Definition at line 134 of file VQwHardwareChannel.h.
References VQwDataElement::fGoodEventCount, GetValueError(), and RangeCheck().
|
pure virtual |
Implemented in QwADC18_Channel, QwMollerADC_Channel, QwVQWK_Channel, and VQwScaler_Channel.
|
inline |
Initialize the fields in this object.
Definition at line 154 of file VQwHardwareChannel.h.
References InitializeChannel().
Referenced by InitializeChannel(), and QwBeamMod::LoadChannelMap().
|
pure virtual |
Implemented in QwADC18_Channel, QwMollerADC_Channel, QwVQWK_Channel, and VQwScaler_Channel.
|
pure virtual |
Implemented in QwADC18_Channel, QwMollerADC_Channel, QwVQWK_Channel, and VQwScaler_Channel.
|
pure virtual |
Implemented in QwADC18_Channel, QwMollerADC_Channel, QwVQWK_Channel, and VQwScaler_Channel.
References VQwHardwareChannel().
|
pure virtual |
Implemented in QwADC18_Channel, QwMollerADC_Channel, QwVQWK_Channel, and VQwScaler_Channel.
References VQwHardwareChannel().
|
pure virtual |
Implemented in QwADC18_Channel, QwMollerADC_Channel, QwVQWK_Channel, and VQwScaler_Channel.
References VQwHardwareChannel().
|
pure virtual |
Implemented in QwADC18_Channel, QwMollerADC_Channel, QwVQWK_Channel, and VQwScaler_Channel.
References VQwHardwareChannel().
|
pure virtual |
Implemented in QwADC18_Channel, QwMollerADC_Channel, QwVQWK_Channel, and VQwScaler_Channel.
References VQwHardwareChannel().
Referenced by Ratio().
|
inline |
Arithmetic assignment operator: Should only copy event-based data.
Definition at line 209 of file VQwHardwareChannel.h.
References VQwDataElement::operator=(), and VQwHardwareChannel().
Referenced by QwADC18_Channel::operator=(), QwMollerADC_Channel::operator=(), QwVQWK_Channel::operator=(), and VQwScaler_Channel::operator=().
|
pure virtual |
Implemented in QwADC18_Channel, QwMollerADC_Channel, QwVQWK_Channel, and VQwScaler_Channel.
void VQwHardwareChannel::ProcessOptions | ( | ) |
|
inlineprotected |
Checks that the requested element is in range, to be used in accesses to subelements similar to std::vector::at().
Definition at line 310 of file VQwHardwareChannel.h.
References fNumberOfSubElements, and VQwDataElement::GetElementName().
Referenced by QwMollerADC_Channel::GetRawValue(), QwVQWK_Channel::GetRawValue(), QwMollerADC_Channel::GetValue(), QwVQWK_Channel::GetValue(), QwMollerADC_Channel::GetValueError(), QwVQWK_Channel::GetValueError(), QwMollerADC_Channel::GetValueM2(), QwVQWK_Channel::GetValueM2(), and GetValueWidth().
|
inlinevirtual |
Definition at line 219 of file VQwHardwareChannel.h.
References AssignValueFrom(), VQwDataElement::fErrorFlag, VQwDataElement::fGoodEventCount, VQwDataElement::IsNameEmpty(), operator/=(), and VQwHardwareChannel().
|
pure virtual |
Implemented in QwADC18_Channel, QwMollerADC_Channel, QwVQWK_Channel, and VQwScaler_Channel.
Referenced by AssignScaledValue().
|
pure virtual |
Implemented in QwADC18_Channel, QwMollerADC_Channel, QwVQWK_Channel, and VQwScaler_Channel.
References VQwHardwareChannel().
Referenced by VQwDataHandler::CalcOneOutput().
|
inlinestatic |
Definition at line 353 of file VQwHardwareChannel.h.
References fBurpHoldoff.
Referenced by QwEventRing::ProcessOptions().
|
inline |
Definition at line 241 of file VQwHardwareChannel.h.
References fCalibrationFactor, and kFoundGain.
Referenced by QwADC18_Channel::SetCalibrationToVolts(), QwMollerADC_Channel::SetCalibrationToVolts(), and QwVQWK_Channel::SetCalibrationToVolts().
|
inlineprotected |
Set the flag indicating if raw or derived values are in this data element.
Definition at line 283 of file VQwHardwareChannel.h.
References fDataToSave, VQwDataElement::kDerived, and VQwDataElement::kRaw.
Referenced by QwADC18_Channel::InitializeChannel(), QwMollerADC_Channel::InitializeChannel(), QwVQWK_Channel::InitializeChannel(), and VQwScaler_Channel::InitializeChannel().
|
inlineprotected |
Set the flag indicating if raw or derived values are in this data element.
Definition at line 293 of file VQwHardwareChannel.h.
References fDataToSave.
|
inlineprotected |
Set the flag indicating if raw or derived values are in this data element based on prefix.
Definition at line 298 of file VQwHardwareChannel.h.
References fDataToSave, VQwDataElement::kDerived, and VQwDataElement::kMoments.
Referenced by QwADC18_Channel::ConstructBranchAndVector(), QwMollerADC_Channel::ConstructBranchAndVector(), QwScaler_Channel< data_mask, data_shift >::ConstructBranchAndVector(), QwVQWK_Channel::ConstructBranchAndVector(), QwMollerADC_Channel::ConstructHistograms(), and QwVQWK_Channel::ConstructHistograms().
|
inline |
Definition at line 161 of file VQwHardwareChannel.h.
References bEVENTCUTMODE.
|
inlineprotected |
Set the number of data words in this data element.
Definition at line 277 of file VQwHardwareChannel.h.
References fNumberOfDataWords.
Referenced by QwADC18_Channel::InitializeChannel(), QwMollerADC_Channel::InitializeChannel(), QwVQWK_Channel::InitializeChannel(), and VQwScaler_Channel::InitializeChannel().
|
inlineprotected |
Set the number of data words in this data element.
Definition at line 279 of file VQwHardwareChannel.h.
References fNumberOfSubElements.
Referenced by QwADC18_Channel::InitializeChannel(), QwMollerADC_Channel::InitializeChannel(), QwVQWK_Channel::InitializeChannel(), and VQwScaler_Channel::InitializeChannel().
|
inline |
void VQwHardwareChannel::SetSingleEventCuts | ( | Double_t | min, |
Double_t | max ) |
Set the upper and lower limits (fULimit and fLLimit) for this channel.
Configure upper and lower limits for single-event cuts.
Definition at line 99 of file VQwHardwareChannel.cc.
References fLLimit, and fULimit.
Referenced by VQwBPM::SetSingleEventCuts(), VQwBPM::SetSingleEventCuts(), and SetSingleEventCuts().
void VQwHardwareChannel::SetSingleEventCuts | ( | UInt_t | errorflag, |
Double_t | min, | ||
Double_t | max, | ||
Double_t | stability = -1.0, | ||
Double_t | BurpLevel = -1.0 ) |
Inherited from VQwDataElement to set the upper and lower limits (fULimit and fLLimit), stability % and the error flag on this channel.
Configure comprehensive single-event cuts with error flags, stability, and burp detection thresholds.
Definition at line 109 of file VQwHardwareChannel.cc.
References QwLog::endl(), fBurpThreshold, VQwDataElement::fErrorConfigFlag, fStability, VQwDataElement::GetElementName(), kGlobalCut, kStabilityCut, QwMessage, and SetSingleEventCuts().
|
pure virtual |
Implemented in QwADC18_Channel, QwMollerADC_Channel, QwVQWK_Channel, and VQwScaler_Channel.
References VQwHardwareChannel().
|
inlineoverridevirtual |
Update the error flag based on the error flags of internally contained objects Return parameter is the "Eventcut Error Flag".
Reimplemented from VQwDataElement.
Definition at line 197 of file VQwHardwareChannel.h.
References VQwDataElement::GetEventcutErrorFlag().
|
inline |
Definition at line 253 of file VQwDataElement.h.
|
inline |
Definition at line 198 of file VQwHardwareChannel.h.
References VQwDataElement::fErrorFlag, and VQwHardwareChannel().
|
protected |
If this set to kFALSE then Event cuts are OFF
Definition at line 342 of file VQwHardwareChannel.h.
Referenced by QwADC18_Channel::ApplyHWChecks(), QwMollerADC_Channel::ApplyHWChecks(), QwVQWK_Channel::ApplyHWChecks(), VQwScaler_Channel::ApplyHWChecks(), QwADC18_Channel::ApplySingleEventCuts(), QwMollerADC_Channel::ApplySingleEventCuts(), QwVQWK_Channel::ApplySingleEventCuts(), VQwScaler_Channel::ApplySingleEventCuts(), CopyFrom(), QwADC18_Channel::InitializeChannel(), QwMollerADC_Channel::InitializeChannel(), QwVQWK_Channel::InitializeChannel(), SetEventCutMode(), VQwHardwareChannel(), and VQwHardwareChannel().
|
protected |
Definition at line 347 of file VQwHardwareChannel.h.
Referenced by CheckForBurpFail(), CopyFrom(), VQwHardwareChannel(), and VQwHardwareChannel().
|
staticprotected |
Base implementation for hardware channels providing common functionality: constructors, option processing, single-event cuts, database interfaces, and tree branch construction with module list filtering. Used by all concrete channel types. Documentation-only edits; runtime behavior unchanged.
Definition at line 359 of file VQwHardwareChannel.h.
Referenced by CheckForBurpFail(), and SetBurpHoldoff().
|
protected |
Definition at line 346 of file VQwHardwareChannel.h.
Referenced by CheckForBurpFail(), CopyFrom(), SetSingleEventCuts(), VQwHardwareChannel(), VQwHardwareChannel(), and VQwHardwareChannel().
|
protected |
Definition at line 335 of file VQwHardwareChannel.h.
Referenced by CopyFrom(), GetCalibrationFactor(), QwADC18_Channel::InitializeChannel(), QwMollerADC_Channel::InitializeChannel(), QwVQWK_Channel::InitializeChannel(), VQwScaler_Channel::InitializeChannel(), QwADC18_Channel::PrintInfo(), QwMollerADC_Channel::PrintInfo(), QwVQWK_Channel::PrintInfo(), QwScaler_Channel< data_mask, data_shift >::ProcessEvBuffer(), QwADC18_Channel::ProcessEvent(), QwMollerADC_Channel::ProcessEvent(), QwVQWK_Channel::ProcessEvent(), VQwScaler_Channel::ProcessEvent(), VQwScaler_Channel::RandomizeEventData(), SetCalibrationFactor(), QwADC18_Channel::SetRawEventData(), QwVQWK_Channel::SetRawEventData(), VQwScaler_Channel::SetRawEventData(), VQwHardwareChannel(), and VQwHardwareChannel().
|
protected |
Definition at line 323 of file VQwHardwareChannel.h.
Referenced by Clone(), QwADC18_Channel::ConstructBranchAndVector(), QwMollerADC_Channel::ConstructBranchAndVector(), QwScaler_Channel< data_mask, data_shift >::ConstructBranchAndVector(), QwVQWK_Channel::ConstructBranchAndVector(), QwADC18_Channel::ConstructHistograms(), QwMollerADC_Channel::ConstructHistograms(), QwVQWK_Channel::ConstructHistograms(), CopyFrom(), QwADC18_Channel::FillHistograms(), QwMollerADC_Channel::FillHistograms(), QwVQWK_Channel::FillHistograms(), QwADC18_Channel::FillTreeVector(), QwMollerADC_Channel::FillTreeVector(), QwScaler_Channel< data_mask, data_shift >::FillTreeVector(), QwVQWK_Channel::FillTreeVector(), QwMollerADC_Channel::operator=(), QwVQWK_Channel::operator=(), QwADC18_Channel::PrintErrorCounters(), QwMollerADC_Channel::PrintErrorCounters(), QwVQWK_Channel::PrintErrorCounters(), SetDataToSave(), SetDataToSave(), SetDataToSaveByPrefix(), VQwHardwareChannel(), VQwHardwareChannel(), and VQwHardwareChannel().
|
protected |
this sets the upper and lower limits
Definition at line 343 of file VQwHardwareChannel.h.
Referenced by QwADC18_Channel::ApplySingleEventCuts(), QwMollerADC_Channel::ApplySingleEventCuts(), QwVQWK_Channel::ApplySingleEventCuts(), VQwScaler_Channel::ApplySingleEventCuts(), CopyFrom(), GetEventCutLowerLimit(), QwADC18_Channel::InitializeChannel(), QwMollerADC_Channel::InitializeChannel(), QwVQWK_Channel::InitializeChannel(), SetSingleEventCuts(), VQwHardwareChannel(), VQwHardwareChannel(), and VQwHardwareChannel().
|
protected |
Number of raw data words in this data element.
Definition at line 320 of file VQwHardwareChannel.h.
Referenced by CopyFrom(), GetNumberOfDataWords(), QwADC18_Channel::ProcessEvBuffer(), QwMollerADC_Channel::ProcessEvBuffer(), QwScaler_Channel< data_mask, data_shift >::ProcessEvBuffer(), QwVQWK_Channel::ProcessEvBuffer(), SetNumberOfDataWords(), VQwHardwareChannel(), VQwHardwareChannel(), and VQwHardwareChannel().
|
protected |
Number of subelements in this data element.
Definition at line 321 of file VQwHardwareChannel.h.
Referenced by CopyFrom(), GetNumberOfSubelements(), RangeCheck(), SetNumberOfSubElements(), VQwHardwareChannel(), VQwHardwareChannel(), and VQwHardwareChannel().
|
protected |
Pedestal of the hardware sum signal, we assume the pedestal level is constant over time and can be divided by four for use with each block, units: [counts / number of samples]
Definition at line 331 of file VQwHardwareChannel.h.
Referenced by CopyFrom(), GetPedestal(), QwADC18_Channel::InitializeChannel(), QwMollerADC_Channel::InitializeChannel(), QwVQWK_Channel::InitializeChannel(), VQwScaler_Channel::InitializeChannel(), QwADC18_Channel::PrintInfo(), QwMollerADC_Channel::PrintInfo(), QwVQWK_Channel::PrintInfo(), QwScaler_Channel< data_mask, data_shift >::ProcessEvBuffer(), QwADC18_Channel::ProcessEvent(), QwMollerADC_Channel::ProcessEvent(), QwVQWK_Channel::ProcessEvent(), VQwScaler_Channel::ProcessEvent(), VQwScaler_Channel::RandomizeEventData(), SetPedestal(), QwADC18_Channel::SetRawEventData(), QwVQWK_Channel::SetRawEventData(), VQwScaler_Channel::SetRawEventData(), VQwHardwareChannel(), and VQwHardwareChannel().
|
protected |
how much deviaton from the stable reading is allowed
Definition at line 344 of file VQwHardwareChannel.h.
Referenced by QwMollerADC_Channel::CalculateRunningAverage(), QwVQWK_Channel::CalculateRunningAverage(), CopyFrom(), GetStabilityLimit(), SetSingleEventCuts(), VQwHardwareChannel(), and VQwHardwareChannel().
|
protected |
Definition at line 326 of file VQwHardwareChannel.h.
Referenced by QwMollerADC_Channel::ConstructBranch(), QwVQWK_Channel::ConstructBranch(), QwADC18_Channel::ConstructBranchAndVector(), QwMollerADC_Channel::ConstructBranchAndVector(), QwScaler_Channel< data_mask, data_shift >::ConstructBranchAndVector(), QwVQWK_Channel::ConstructBranchAndVector(), CopyFrom(), QwScaler_Channel< 0x00ffffff, 0 >::EncodeEventData(), QwADC18_Channel::FillTreeVector(), QwMollerADC_Channel::FillTreeVector(), QwScaler_Channel< data_mask, data_shift >::FillTreeVector(), QwVQWK_Channel::FillTreeVector(), QwADC18_Channel::InitializeChannel(), QwMollerADC_Channel::InitializeChannel(), QwVQWK_Channel::InitializeChannel(), VQwScaler_Channel::InitializeChannel(), QwScaler_Channel< 0x00ffffff, 0 >::ProcessEvBuffer(), VQwHardwareChannel(), and VQwHardwareChannel().
|
protected |
Definition at line 327 of file VQwHardwareChannel.h.
Referenced by QwMollerADC_Channel::ConstructBranch(), QwVQWK_Channel::ConstructBranch(), QwADC18_Channel::ConstructBranchAndVector(), QwMollerADC_Channel::ConstructBranchAndVector(), QwVQWK_Channel::ConstructBranchAndVector(), CopyFrom(), QwScaler_Channel< 0x00ffffff, 0 >::EncodeEventData(), QwADC18_Channel::FillTreeVector(), QwMollerADC_Channel::FillTreeVector(), QwScaler_Channel< data_mask, data_shift >::FillTreeVector(), QwVQWK_Channel::FillTreeVector(), QwADC18_Channel::InitializeChannel(), QwMollerADC_Channel::InitializeChannel(), QwVQWK_Channel::InitializeChannel(), VQwScaler_Channel::InitializeChannel(), VQwHardwareChannel(), and VQwHardwareChannel().
|
protected |
Definition at line 343 of file VQwHardwareChannel.h.
Referenced by QwADC18_Channel::ApplySingleEventCuts(), QwMollerADC_Channel::ApplySingleEventCuts(), QwVQWK_Channel::ApplySingleEventCuts(), VQwScaler_Channel::ApplySingleEventCuts(), CopyFrom(), GetEventCutUpperLimit(), QwADC18_Channel::InitializeChannel(), QwMollerADC_Channel::InitializeChannel(), QwVQWK_Channel::InitializeChannel(), SetSingleEventCuts(), VQwHardwareChannel(), VQwHardwareChannel(), and VQwHardwareChannel().
|
protected |
Definition at line 337 of file VQwHardwareChannel.h.
Referenced by CopyFrom(), QwADC18_Channel::InitializeChannel(), QwMollerADC_Channel::InitializeChannel(), QwVQWK_Channel::InitializeChannel(), QwADC18_Channel::PrintErrorCounters(), QwMollerADC_Channel::PrintErrorCounters(), QwVQWK_Channel::PrintErrorCounters(), SetCalibrationFactor(), VQwHardwareChannel(), and VQwHardwareChannel().
|
protected |
Definition at line 336 of file VQwHardwareChannel.h.
Referenced by CopyFrom(), QwADC18_Channel::InitializeChannel(), QwMollerADC_Channel::InitializeChannel(), QwVQWK_Channel::InitializeChannel(), QwADC18_Channel::PrintErrorCounters(), QwMollerADC_Channel::PrintErrorCounters(), QwVQWK_Channel::PrintErrorCounters(), SetPedestal(), VQwHardwareChannel(), and VQwHardwareChannel().