JAPAn
Just Another Parity Analyzer
Loading...
Searching...
No Matches
VQwHardwareChannel Class Referenceabstract

Abstract base for concrete hardware channels implementing dual-operator pattern. More...

#include <VQwHardwareChannel.h>

+ Inheritance diagram for VQwHardwareChannel:
+ Collaboration diagram for VQwHardwareChannel:

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 VQwHardwareChannelClone () const
 
virtual VQwHardwareChannelClone (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
 
VQwHardwareChanneloperator= (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 VQwHardwareChanneloperator+= (const VQwHardwareChannel &input)=0
 
virtual VQwHardwareChanneloperator-= (const VQwHardwareChannel &input)=0
 
virtual VQwHardwareChanneloperator*= (const VQwHardwareChannel &input)=0
 
virtual VQwHardwareChanneloperator/= (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)
 
- Public Member Functions inherited from VQwDataElement
 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
 
VQwDataElementoperator+= (const VQwDataElement &)
 Addition-assignment operator.
 
VQwDataElementoperator-= (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
 
- Public Member Functions inherited from MQwHistograms
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().
 
- Protected Member Functions inherited from VQwDataElement
void SetNumberOfDataWords (const UInt_t &numwords)
 Set the number of data words in this data element.
 
VQwDataElementoperator= (const VQwDataElement &value)
 Arithmetic assignment operator: Should only copy event-based data.
 
void UpdateErrorFlag (const UInt_t &error)
 
- Protected Member Functions inherited from MQwHistograms
 MQwHistograms ()
 Default constructor.
 
 MQwHistograms (const MQwHistograms &source)
 Copy constructor.
 
virtual ~MQwHistograms ()
 Virtual destructor.
 
MQwHistogramsoperator= (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
 
- Protected Attributes inherited from VQwDataElement
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
 
- Protected Attributes inherited from MQwHistograms
std::vector< TH1_ptrfHistograms
 Histograms associated with this data element.
 

Global event cuts

static Int_t fBurpHoldoff = 10
 
static void SetBurpHoldoff (Int_t holdoff)
 

Additional Inherited Members

- Public Types inherited from VQwDataElement
enum  EDataToSave { kRaw = 0 , kDerived , kMoments }
 

Detailed Description

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.

Dual-Operator Pattern Implementation:
VQwHardwareChannel inherits the dual-operator requirement from VQwDataElement and adds channel-specific enforcement. Derived classes must implement:

Required Operator Pairs:

Polymorphic Delegation Pattern:

const QwVQWK_Channel* tmpptr = dynamic_cast<const QwVQWK_Channel*>(&source);
if (tmpptr != NULL) {
*this += *tmpptr; // Calls type-specific version
} else {
throw std::invalid_argument("Type mismatch in operator+=");
}
return *this;
}
Concrete hardware channel for VQWK ADC modules (6x32-bit words)
QwVQWK_Channel & operator+=(const QwVQWK_Channel &value)
Assignment + Operators Pattern:
Sum/Difference methods follow the canonical pattern:
void Sum(const QwVQWK_Channel& value1, const QwVQWK_Channel& value2) {
*this = value1; // Uses derived class assignment operator
*this += value2; // Uses type-specific operator+=
}
void Sum(const VQwDataElement &, const VQwDataElement &)
Sum operator (base class fallback throws runtime error)
Channel Infrastructure:
  • Calibration: Pedestal subtraction and gain application
  • Event Cuts: Single-event limits with error flag propagation
  • Statistics: Running sums with error mask support
  • Hardware Checks: Burp detection and error counting
  • Subelements: Support for multi-element channels
Representative Example:
QwVQWK_Channel provides the canonical implementation demonstrating:
  • Complete dual-operator pattern with proper delegation
  • Six-word VQWK data processing (blocks 0-5)
  • Pedestal/calibration application
  • Single-event cuts and error propagation
  • Histogram and tree branch construction
Error Handling Strategy:
  • Type mismatches in operators throw std::invalid_argument
  • Hardware errors set device-specific error codes
  • Event cuts use configurable upper/lower limits
  • Burp detection compares against reference channels

Definition at line 93 of file VQwHardwareChannel.h.

Constructor & Destructor Documentation

◆ VQwHardwareChannel() [1/3]

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.

23 :
27{
28 fULimit = -1;
29 fLLimit = 1;
30 fErrorFlag = 0;
32 fBurpThreshold = -1.0;
33}
UInt_t fErrorConfigFlag
contains the global/local/stability flags
UInt_t fErrorFlag
This the standard error code generated for the channel that contains the global/local/stability flags...
UInt_t fNumberOfSubElements
Number of subelements in this data element.
UInt_t fNumberOfDataWords
Number of raw data words in this data element.

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().

+ Here is the caller graph for this function:

◆ VQwHardwareChannel() [2/3]

VQwHardwareChannel::VQwHardwareChannel ( const VQwHardwareChannel & value)

Copy constructor: duplicate all channel state and configuration.

Definition at line 36 of file VQwHardwareChannel.cc.

37 :VQwDataElement(value),
43 fPedestal(value.fPedestal),
48 fULimit(value.fULimit),
49 fLLimit(value.fLLimit),
53{
54}
VQwDataElement()
Default constructor.

References bEVENTCUTMODE, fBurpCountdown, fBurpThreshold, fCalibrationFactor, fDataToSave, fLLimit, fNumberOfDataWords, fNumberOfSubElements, fPedestal, fStability, fTreeArrayIndex, fTreeArrayNumEntries, fULimit, kFoundGain, kFoundPedestal, VQwDataElement::VQwDataElement(), and VQwHardwareChannel().

+ Here is the call graph for this function:

◆ VQwHardwareChannel() [3/3]

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().

+ Here is the call graph for this function:

◆ ~VQwHardwareChannel()

VQwHardwareChannel::~VQwHardwareChannel ( )
inlineoverride

Definition at line 106 of file VQwHardwareChannel.h.

106{ };

Member Function Documentation

◆ AccumulateRunningSum()

virtual void VQwHardwareChannel::AccumulateRunningSum ( const VQwHardwareChannel * value,
Int_t count = 0,
Int_t ErrorMask = 0xFFFFFFF )
inlinevirtual

Reimplemented in QwADC18_Channel, QwMollerADC_Channel, QwVQWK_Channel, and VQwScaler_Channel.

Definition at line 248 of file VQwHardwareChannel.h.

248 {
249 if(count==0){
250 count = value->fGoodEventCount;
251 }
252 if(ErrorMask == kPreserveError){QwError << "VQwHardwareChannel count=" << count << QwLog::endl;}
253 AccumulateRunningSum(value, count, ErrorMask);
254 };
#define QwError
Predefined log drain for errors.
Definition QwLog.h:39
static const UInt_t kPreserveError
Definition QwTypes.h:186
static std::ostream & endl(std::ostream &)
End of the line.
Definition QwLog.cc:297
UInt_t fGoodEventCount
Number of good events accumulated in this element.
virtual void AccumulateRunningSum(const VQwHardwareChannel *value, Int_t count=0, Int_t ErrorMask=0xFFFFFFF)

References AccumulateRunningSum(), QwLog::endl(), VQwDataElement::fGoodEventCount, kPreserveError, QwError, and VQwHardwareChannel().

Referenced by AccumulateRunningSum(), DeaccumulateRunningSum(), and VQwScaler_Channel::PrintErrorCounterTail().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ AddEntriesToList()

void VQwHardwareChannel::AddEntriesToList ( std::vector< QwDBInterface > & row_list)

◆ AddErrEntriesToList()

virtual void VQwHardwareChannel::AddErrEntriesToList ( std::vector< QwErrDBInterface > & )
inlinevirtual

Definition at line 245 of file VQwHardwareChannel.h.

245{};

◆ AddValueFrom()

virtual void VQwHardwareChannel::AddValueFrom ( const VQwHardwareChannel * valueptr)
pure virtual

Implemented in QwADC18_Channel, QwMollerADC_Channel, QwVQWK_Channel, and VQwScaler_Channel.

References VQwHardwareChannel().

+ Here is the call graph for this function:

◆ ApplyHWChecks()

virtual Int_t VQwHardwareChannel::ApplyHWChecks ( )
pure virtual

◆ ApplySingleEventCuts()

virtual Bool_t VQwHardwareChannel::ApplySingleEventCuts ( )
pure virtual

◆ AssignScaledValue()

void VQwHardwareChannel::AssignScaledValue ( const VQwHardwareChannel & value,
Double_t scale )
inline

Definition at line 215 of file VQwHardwareChannel.h.

215 {
216 AssignValueFrom(&value);
217 Scale(scale);
218 };
virtual void Scale(Double_t Offset)=0
void AssignValueFrom(const VQwDataElement *valueptr) override=0

References AssignValueFrom(), Scale(), and VQwHardwareChannel().

+ Here is the call graph for this function:

◆ AssignValueFrom()

void VQwHardwareChannel::AssignValueFrom ( const VQwDataElement * valueptr)
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().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CalculateRunningAverage()

virtual void VQwHardwareChannel::CalculateRunningAverage ( )
pure virtual

◆ CheckForBurpFail()

virtual Bool_t VQwHardwareChannel::CheckForBurpFail ( const VQwHardwareChannel * event)
inlinevirtual

Definition at line 165 of file VQwHardwareChannel.h.

165 {
166 Bool_t foundburp = kFALSE;
167 if (fBurpThreshold>0){
168 Double_t diff = this->GetValue() - event->GetValue();
169 if (fabs(diff)>fBurpThreshold){
170 foundburp = kTRUE;
172 } else if (fBurpCountdown>0) {
173 foundburp = kTRUE;
175 }
176 }
177 if (foundburp){
179 }
180
181 return foundburp;
182 }
static const UInt_t kErrorFlag_BurpCut
Definition QwTypes.h:179
Double_t GetValue() const

References fBurpCountdown, fBurpHoldoff, fBurpThreshold, VQwDataElement::fErrorFlag, GetValue(), kErrorFlag_BurpCut, and VQwHardwareChannel().

+ Here is the call graph for this function:

◆ ClearEventData()

void VQwHardwareChannel::ClearEventData ( )
inlineoverridevirtual

Clear the event data in this element.

Reimplemented from VQwDataElement.

Reimplemented in VQwScaler_Channel.

Definition at line 145 of file VQwHardwareChannel.h.

145 {
147 };
virtual void ClearEventData()
Clear the event data in this element.

References VQwDataElement::ClearEventData().

Referenced by VQwDataHandler::CalcOneOutput().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Clone() [1/2]

virtual VQwHardwareChannel * VQwHardwareChannel::Clone ( ) const
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.

112 {
113 return Clone(this->fDataToSave);
114 };
virtual VQwHardwareChannel * Clone() const

References Clone(), fDataToSave, and VQwHardwareChannel().

Referenced by Clone(), QwCombiner::ConnectChannels(), QwCombiner::ConnectChannels(), VQwDataHandler::ConnectChannels(), and QwScaler_Channel< 0x00ffffff, 0 >::CopyFrom().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Clone() [2/2]

◆ ConstructBranch() [1/2]

virtual void VQwHardwareChannel::ConstructBranch ( TTree * tree,
TString & prefix )
pure virtual

Implemented in QwADC18_Channel, QwMollerADC_Channel, QwVQWK_Channel, and VQwScaler_Channel.

Referenced by ConstructBranch().

+ Here is the caller graph for this function:

◆ ConstructBranch() [2/2]

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.

149 {
150 if (GetElementName()!=""){
151 TString devicename;
152 devicename=GetElementName();
153 devicename.ToLower();
154 if (modulelist.HasValue(devicename)){
155 ConstructBranch(tree,prefix);
156 }
157 }
158}
Bool_t HasValue(TString &vname)
virtual const TString & GetElementName() const
Get the name of this element.
virtual void ConstructBranch(TTree *tree, TString &prefix)=0

References ConstructBranch(), VQwDataElement::GetElementName(), and QwParameterFile::HasValue().

+ Here is the call graph for this function:

◆ ConstructBranchAndVector()

virtual void VQwHardwareChannel::ConstructBranchAndVector ( TTree * tree,
TString & prefix,
QwRootTreeBranchVector & values )
pure virtual

◆ CopyFrom()

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().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CopyParameters()

virtual void VQwHardwareChannel::CopyParameters ( const VQwHardwareChannel * )
inlinevirtual

Reimplemented in QwMollerADC_Channel.

Definition at line 273 of file VQwHardwareChannel.h.

273{};

References VQwHardwareChannel().

+ Here is the call graph for this function:

◆ DeaccumulateRunningSum()

virtual void VQwHardwareChannel::DeaccumulateRunningSum ( const VQwHardwareChannel * value,
Int_t ErrorMask = 0xFFFFFFF )
inlinevirtual

Reimplemented in QwADC18_Channel, QwMollerADC_Channel, QwVQWK_Channel, and VQwScaler_Channel.

Definition at line 255 of file VQwHardwareChannel.h.

255 {
256 AccumulateRunningSum(value, -1, ErrorMask);
257 };

References AccumulateRunningSum(), and VQwHardwareChannel().

Referenced by VQwScaler_Channel::PrintErrorCounterTail().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ DivideBy()

virtual void VQwHardwareChannel::DivideBy ( const VQwHardwareChannel * valueptr)
pure virtual

Implemented in QwADC18_Channel, QwMollerADC_Channel, QwVQWK_Channel, and VQwScaler_Channel.

References VQwHardwareChannel().

+ Here is the call graph for this function:

◆ FillTreeVector()

virtual void VQwHardwareChannel::FillTreeVector ( QwRootTreeBranchVector & values) const
pure virtual

◆ GetCalibrationFactor()

Double_t VQwHardwareChannel::GetCalibrationFactor ( ) const
inline

Definition at line 242 of file VQwHardwareChannel.h.

242{ return fCalibrationFactor; };

References fCalibrationFactor.

◆ GetErrorCode()

virtual UInt_t VQwHardwareChannel::GetErrorCode ( ) const
inlinevirtual

Definition at line 199 of file VQwHardwareChannel.h.

199{return (fErrorFlag);};

References VQwDataElement::fErrorFlag.

◆ GetEventCutLowerLimit()

Double_t VQwHardwareChannel::GetEventCutLowerLimit ( ) const
inline

Definition at line 193 of file VQwHardwareChannel.h.

193{ return fLLimit; };

References fLLimit.

◆ GetEventCutUpperLimit()

Double_t VQwHardwareChannel::GetEventCutUpperLimit ( ) const
inline

Definition at line 192 of file VQwHardwareChannel.h.

192{ return fULimit; };

References fULimit.

◆ GetNumberOfDataWords()

size_t VQwHardwareChannel::GetNumberOfDataWords ( )
inline

Get the number of data words in this data element.

Definition at line 120 of file VQwHardwareChannel.h.

120{return fNumberOfDataWords;}

References fNumberOfDataWords.

◆ GetNumberOfSubelements()

size_t VQwHardwareChannel::GetNumberOfSubelements ( )
inline

Get the number of subelements in this data element.

Definition at line 123 of file VQwHardwareChannel.h.

123{return fNumberOfSubElements;};

References fNumberOfSubElements.

◆ GetPedestal()

Double_t VQwHardwareChannel::GetPedestal ( ) const
inline

Definition at line 240 of file VQwHardwareChannel.h.

240{ return fPedestal; };

References fPedestal.

◆ GetRawValue() [1/2]

Int_t VQwHardwareChannel::GetRawValue ( ) const
inline

Definition at line 125 of file VQwHardwareChannel.h.

125{return this->GetRawValue(0);};

References GetRawValue().

Referenced by GetRawValue(), and VQwScaler_Channel::PrintErrorCounterTail().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetRawValue() [2/2]

virtual Int_t VQwHardwareChannel::GetRawValue ( size_t element) const
pure virtual

◆ GetStabilityLimit()

Double_t VQwHardwareChannel::GetStabilityLimit ( ) const
inline

Definition at line 195 of file VQwHardwareChannel.h.

195{ return fStability;};

References fStability.

◆ GetValue() [1/2]

Double_t VQwHardwareChannel::GetValue ( ) const
inline

Definition at line 126 of file VQwHardwareChannel.h.

126{return this->GetValue(0);};

References GetValue().

Referenced by CheckForBurpFail(), GetValue(), VQwScaler_Channel::PrintErrorCounterTail(), QwBeamLine::WritePromptSummary(), VQwDataHandler::WritePromptSummary(), and VQwDetectorArray::WritePromptSummary().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetValue() [2/2]

virtual Double_t VQwHardwareChannel::GetValue ( size_t element) const
pure virtual

◆ GetValueError() [1/2]

Double_t VQwHardwareChannel::GetValueError ( ) const
inline

Definition at line 128 of file VQwHardwareChannel.h.

128{return this->GetValueError(0);};
Double_t GetValueError() const

References GetValueError().

Referenced by GetValueError(), GetValueWidth(), VQwScaler_Channel::PrintErrorCounterTail(), QwBeamLine::WritePromptSummary(), VQwDataHandler::WritePromptSummary(), and VQwDetectorArray::WritePromptSummary().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetValueError() [2/2]

virtual Double_t VQwHardwareChannel::GetValueError ( size_t element) const
pure virtual

◆ GetValueM2() [1/2]

Double_t VQwHardwareChannel::GetValueM2 ( ) const
inline

Definition at line 127 of file VQwHardwareChannel.h.

127{return this->GetValueM2(0);};
Double_t GetValueM2() const

References GetValueM2().

Referenced by GetValueM2(), and VQwScaler_Channel::PrintErrorCounterTail().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetValueM2() [2/2]

virtual Double_t VQwHardwareChannel::GetValueM2 ( size_t element) const
pure virtual

◆ GetValueWidth() [1/2]

Double_t VQwHardwareChannel::GetValueWidth ( ) const
inline

Definition at line 129 of file VQwHardwareChannel.h.

129{return this->GetValueWidth(0);};
Double_t GetValueWidth() const

References GetValueWidth().

Referenced by GetValueWidth(), VQwScaler_Channel::PrintErrorCounterTail(), QwBeamLine::WritePromptSummary(), VQwDataHandler::WritePromptSummary(), and VQwDetectorArray::WritePromptSummary().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetValueWidth() [2/2]

Double_t VQwHardwareChannel::GetValueWidth ( size_t element) const
inline

Definition at line 134 of file VQwHardwareChannel.h.

134 {
135 RangeCheck(element);
136 Double_t width;
137 if (fGoodEventCount>0){
138 width = (GetValueError(element)*std::sqrt(Double_t(fGoodEventCount)));
139 } else {
140 width = 0.0;
141 }
142 return width;
143 };
void RangeCheck(size_t element) const
Checks that the requested element is in range, to be used in accesses to subelements similar to std::...

References VQwDataElement::fGoodEventCount, GetValueError(), and RangeCheck().

+ Here is the call graph for this function:

◆ IncrementErrorCounters()

virtual void VQwHardwareChannel::IncrementErrorCounters ( )
pure virtual

◆ InitializeChannel() [1/3]

void VQwHardwareChannel::InitializeChannel ( TString name)
inline

Initialize the fields in this object.

Definition at line 154 of file VQwHardwareChannel.h.

154{InitializeChannel(name, "raw");};
void InitializeChannel(TString name)
Initialize the fields in this object.

References InitializeChannel().

Referenced by InitializeChannel(), and QwBeamMod::LoadChannelMap().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ InitializeChannel() [2/3]

virtual void VQwHardwareChannel::InitializeChannel ( TString name,
TString datatosave )
pure virtual

◆ InitializeChannel() [3/3]

virtual void VQwHardwareChannel::InitializeChannel ( TString subsystem,
TString instrumenttype,
TString name,
TString datatosave )
pure virtual

◆ MultiplyBy()

virtual void VQwHardwareChannel::MultiplyBy ( const VQwHardwareChannel * valueptr)
pure virtual

Implemented in QwADC18_Channel, QwMollerADC_Channel, QwVQWK_Channel, and VQwScaler_Channel.

References VQwHardwareChannel().

+ Here is the call graph for this function:

◆ operator*=()

virtual VQwHardwareChannel & VQwHardwareChannel::operator*= ( const VQwHardwareChannel & input)
pure virtual

Implemented in QwADC18_Channel, QwMollerADC_Channel, QwVQWK_Channel, and VQwScaler_Channel.

References VQwHardwareChannel().

+ Here is the call graph for this function:

◆ operator+=()

virtual VQwHardwareChannel & VQwHardwareChannel::operator+= ( const VQwHardwareChannel & input)
pure virtual

Implemented in QwADC18_Channel, QwMollerADC_Channel, QwVQWK_Channel, and VQwScaler_Channel.

References VQwHardwareChannel().

+ Here is the call graph for this function:

◆ operator-=()

virtual VQwHardwareChannel & VQwHardwareChannel::operator-= ( const VQwHardwareChannel & input)
pure virtual

Implemented in QwADC18_Channel, QwMollerADC_Channel, QwVQWK_Channel, and VQwScaler_Channel.

References VQwHardwareChannel().

+ Here is the call graph for this function:

◆ operator/=()

virtual VQwHardwareChannel & VQwHardwareChannel::operator/= ( const VQwHardwareChannel & input)
pure virtual

Implemented in QwADC18_Channel, QwMollerADC_Channel, QwVQWK_Channel, and VQwScaler_Channel.

References VQwHardwareChannel().

Referenced by Ratio().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ operator=()

VQwHardwareChannel & VQwHardwareChannel::operator= ( const VQwHardwareChannel & value)
inline

Arithmetic assignment operator: Should only copy event-based data.

Definition at line 209 of file VQwHardwareChannel.h.

209 {
210 if (this != &value) {
212 }
213 return *this;
214 }
VQwDataElement & operator=(const VQwDataElement &value)
Arithmetic assignment operator: Should only copy event-based data.

References VQwDataElement::operator=(), and VQwHardwareChannel().

Referenced by QwADC18_Channel::operator=(), QwMollerADC_Channel::operator=(), QwVQWK_Channel::operator=(), and VQwScaler_Channel::operator=().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessEvent()

virtual void VQwHardwareChannel::ProcessEvent ( )
pure virtual

◆ ProcessOptions()

void VQwHardwareChannel::ProcessOptions ( )

◆ RangeCheck()

void VQwHardwareChannel::RangeCheck ( size_t element) const
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.

310 {
311 if (element >= fNumberOfSubElements){
312 TString loc="VQwDataElement::RangeCheck for "
313 +this->GetElementName()+" failed for subelement "+Form("%zu",element);
314 throw std::out_of_range(loc.Data());
315
316 }
317 };

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().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Ratio()

virtual void VQwHardwareChannel::Ratio ( const VQwHardwareChannel * numer,
const VQwHardwareChannel * denom )
inlinevirtual

Definition at line 219 of file VQwHardwareChannel.h.

219 {
220 if (!IsNameEmpty()){
221 this->AssignValueFrom(numer);
222 this->operator/=(*denom);
223
224 // Remaining variables
226 fErrorFlag = (numer->fErrorFlag|denom->fErrorFlag);//error code is ORed.
227 }
228 }
Bool_t IsNameEmpty() const
Is the name of this element empty?
virtual VQwHardwareChannel & operator/=(const VQwHardwareChannel &input)=0

References AssignValueFrom(), VQwDataElement::fErrorFlag, VQwDataElement::fGoodEventCount, VQwDataElement::IsNameEmpty(), operator/=(), and VQwHardwareChannel().

+ Here is the call graph for this function:

◆ Scale()

virtual void VQwHardwareChannel::Scale ( Double_t Offset)
pure virtual

Implemented in QwADC18_Channel, QwMollerADC_Channel, QwVQWK_Channel, and VQwScaler_Channel.

Referenced by AssignScaledValue().

+ Here is the caller graph for this function:

◆ ScaledAdd()

virtual void VQwHardwareChannel::ScaledAdd ( Double_t scale,
const VQwHardwareChannel * value )
pure virtual

Implemented in QwADC18_Channel, QwMollerADC_Channel, QwVQWK_Channel, and VQwScaler_Channel.

References VQwHardwareChannel().

Referenced by VQwDataHandler::CalcOneOutput().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetBurpHoldoff()

static void VQwHardwareChannel::SetBurpHoldoff ( Int_t holdoff)
inlinestatic

Definition at line 353 of file VQwHardwareChannel.h.

353 {
354 fBurpHoldoff = holdoff;
355 }

References fBurpHoldoff.

Referenced by QwEventRing::ProcessOptions().

+ Here is the caller graph for this function:

◆ SetCalibrationFactor()

void VQwHardwareChannel::SetCalibrationFactor ( Double_t factor)
inline

Definition at line 241 of file VQwHardwareChannel.h.

241{ fCalibrationFactor = factor; kFoundGain = 1; };

References fCalibrationFactor, and kFoundGain.

Referenced by QwADC18_Channel::SetCalibrationToVolts(), QwMollerADC_Channel::SetCalibrationToVolts(), and QwVQWK_Channel::SetCalibrationToVolts().

+ Here is the caller graph for this function:

◆ SetDataToSave() [1/2]

void VQwHardwareChannel::SetDataToSave ( TString datatosave)
inlineprotected

Set the flag indicating if raw or derived values are in this data element.

Definition at line 283 of file VQwHardwareChannel.h.

283 {
284 if (datatosave == "raw")
286 else if (datatosave == "derived")
288 else
289 fDataToSave = kRaw; // wdc, added default fall-through
290 }

References fDataToSave, VQwDataElement::kDerived, and VQwDataElement::kRaw.

Referenced by QwADC18_Channel::InitializeChannel(), QwMollerADC_Channel::InitializeChannel(), QwVQWK_Channel::InitializeChannel(), and VQwScaler_Channel::InitializeChannel().

+ Here is the caller graph for this function:

◆ SetDataToSave() [2/2]

void VQwHardwareChannel::SetDataToSave ( VQwDataElement::EDataToSave datatosave)
inlineprotected

Set the flag indicating if raw or derived values are in this data element.

Definition at line 293 of file VQwHardwareChannel.h.

293 {
294 fDataToSave = datatosave;
295 }

References fDataToSave.

◆ SetDataToSaveByPrefix()

void VQwHardwareChannel::SetDataToSaveByPrefix ( const TString & prefix)
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.

298 {
299 if (prefix.Contains("asym_")
300 || prefix.Contains("diff_")
301 || prefix.Contains("yield_"))
303 if (prefix.Contains("stat"))
304 fDataToSave = kMoments; // stat has priority
305 }

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().

+ Here is the caller graph for this function:

◆ SetEventCutMode()

void VQwHardwareChannel::SetEventCutMode ( Int_t bcuts)
inline

Definition at line 161 of file VQwHardwareChannel.h.

161{bEVENTCUTMODE=bcuts;};

References bEVENTCUTMODE.

◆ SetNumberOfDataWords()

void VQwHardwareChannel::SetNumberOfDataWords ( const UInt_t & numwords)
inlineprotected

Set the number of data words in this data element.

Definition at line 277 of file VQwHardwareChannel.h.

277{fNumberOfDataWords = numwords;}

References fNumberOfDataWords.

Referenced by QwADC18_Channel::InitializeChannel(), QwMollerADC_Channel::InitializeChannel(), QwVQWK_Channel::InitializeChannel(), and VQwScaler_Channel::InitializeChannel().

+ Here is the caller graph for this function:

◆ SetNumberOfSubElements()

void VQwHardwareChannel::SetNumberOfSubElements ( const size_t elements)
inlineprotected

Set the number of data words in this data element.

Definition at line 279 of file VQwHardwareChannel.h.

279{fNumberOfSubElements = elements;};

References fNumberOfSubElements.

Referenced by QwADC18_Channel::InitializeChannel(), QwMollerADC_Channel::InitializeChannel(), QwVQWK_Channel::InitializeChannel(), and VQwScaler_Channel::InitializeChannel().

+ Here is the caller graph for this function:

◆ SetPedestal()

void VQwHardwareChannel::SetPedestal ( Double_t ped)
inline

Definition at line 239 of file VQwHardwareChannel.h.

239{ fPedestal = ped; kFoundPedestal = 1; };

References fPedestal, and kFoundPedestal.

◆ SetSingleEventCuts() [1/2]

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.

100{
101 fULimit=max;
102 fLLimit=min;
103}

References fLLimit, and fULimit.

Referenced by VQwBPM::SetSingleEventCuts(), VQwBPM::SetSingleEventCuts(), and SetSingleEventCuts().

+ Here is the caller graph for this function:

◆ SetSingleEventCuts() [2/2]

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.

110{
111 //QwError<<"***************************inside VQwHardwareChannel, BurpLevel = "<<BurpLevel<<QwLog::endl;
112 fErrorConfigFlag=errorflag;
113 fStability=stability;
114 fBurpThreshold=BurpLevel;
115 SetSingleEventCuts(min,max);
116 QwMessage << "Set single event cuts for " << GetElementName() << ": "
117 << "Config-error-flag == 0x" << std::hex << errorflag << std::dec
118 << ", global? " << ((fErrorConfigFlag & kGlobalCut)==kGlobalCut) << ", stability? " << ((fErrorConfigFlag & kStabilityCut)==kStabilityCut)<<" cut "<<fStability << ", burpcut " << fBurpThreshold << QwLog::endl;
119}
#define QwMessage
Predefined log drain for regular messages.
Definition QwLog.h:49
static const UInt_t kGlobalCut
Definition QwTypes.h:182
static const UInt_t kStabilityCut
Definition QwTypes.h:184
void SetSingleEventCuts(Double_t min, Double_t max)
Set the upper and lower limits (fULimit and fLLimit) for this channel.

References QwLog::endl(), fBurpThreshold, VQwDataElement::fErrorConfigFlag, fStability, VQwDataElement::GetElementName(), kGlobalCut, kStabilityCut, QwMessage, and SetSingleEventCuts().

+ Here is the call graph for this function:

◆ SubtractValueFrom()

virtual void VQwHardwareChannel::SubtractValueFrom ( const VQwHardwareChannel * valueptr)
pure virtual

Implemented in QwADC18_Channel, QwMollerADC_Channel, QwVQWK_Channel, and VQwScaler_Channel.

References VQwHardwareChannel().

+ Here is the call graph for this function:

◆ UpdateErrorFlag() [1/3]

UInt_t VQwHardwareChannel::UpdateErrorFlag ( )
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.

197{return GetEventcutErrorFlag();};
virtual UInt_t GetEventcutErrorFlag()
return the error flag on this channel/device

References VQwDataElement::GetEventcutErrorFlag().

+ Here is the call graph for this function:

◆ UpdateErrorFlag() [2/3]

void VQwDataElement::UpdateErrorFlag ( const UInt_t & error)
inline

Definition at line 253 of file VQwDataElement.h.

253 {
254 fErrorFlag |= (error);
255 };

◆ UpdateErrorFlag() [3/3]

void VQwHardwareChannel::UpdateErrorFlag ( const VQwHardwareChannel & elem)
inline

Definition at line 198 of file VQwHardwareChannel.h.

198{fErrorFlag |= elem.fErrorFlag;};

References VQwDataElement::fErrorFlag, and VQwHardwareChannel().

+ Here is the call graph for this function:

Field Documentation

◆ bEVENTCUTMODE

◆ fBurpCountdown

Int_t VQwHardwareChannel::fBurpCountdown
protected

◆ fBurpHoldoff

Int_t VQwHardwareChannel::fBurpHoldoff = 10
staticprotected

VQwHardwareChannel.cc

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().

◆ fBurpThreshold

Double_t VQwHardwareChannel::fBurpThreshold
protected

◆ fCalibrationFactor

◆ fDataToSave

◆ fLLimit

◆ fNumberOfDataWords

◆ fNumberOfSubElements

UInt_t VQwHardwareChannel::fNumberOfSubElements
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().

◆ fPedestal

◆ fStability

Double_t VQwHardwareChannel::fStability
protected

◆ fTreeArrayIndex

◆ fTreeArrayNumEntries

◆ fULimit

◆ kFoundGain

◆ kFoundPedestal


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