20#include "TDirectory.h"
133 std::cerr <<
"LoadMockDataParameters is not defined!" << std::endl;
150 std::cerr <<
"Operation AssignValueFrom not defined!" << std::endl;
155 {
throw std::runtime_error(std::string(
"VQwDataElement::operator+= not implemented for ") +
GetElementName().Data()); }
158 {
throw std::runtime_error(std::string(
"VQwDataElement::operator-= not implemented for ") +
GetElementName().Data()); }
162 {
throw std::runtime_error(
"Sum not implemented for this data element type"); }
165 {
throw std::runtime_error(
"Difference not implemented for this data element type"); }
168 {
throw std::runtime_error(
"Ratio not implemented for this data element type"); }
182 void SetSingleEventCuts(UInt_t ,Double_t , Double_t , Double_t ){
throw std::runtime_error(
"SetSingleEventCuts not implemented for this data element type");};
187 throw std::runtime_error(std::string(
"CheckForBurpFail not implemented for this data element type ") +
typeid(*this).name());
A logfile class, based on an identical class in the Hermes analyzer.
Mix-in class for histogram management functionality.
Basic data types and constants used throughout the Qweak analysis framework.
static const UInt_t kGlobalCut
const TString QwBPMStripline< T >::subelement[4]
MQwHistograms & operator=(const MQwHistograms &value)
MQwHistograms()
Default constructor.
Configuration file parser with flexible tokenization and search capabilities.
A helper class to manage a vector of branch entries for ROOT trees.
VQwDataElement(const VQwDataElement &value)
Copy constructor.
virtual Double_t GetNormClockValue()
void CopyFrom(const VQwDataElement &value)
void UpdateErrorFlag(const UInt_t &error)
UInt_t fGoodEventCount
Number of good events accumulated in this element.
virtual void PrintErrorCounters() const
report number of events failed due to HW and event cut failure
VQwDataElement()
Default constructor.
virtual void ClearEventData()
Clear the event data in this element.
UInt_t fErrorConfigFlag
contains the global/local/stability flags
virtual void PrintValue() const
Print single line of value and error of this data element.
virtual void SetExternalClockPtr(const VQwHardwareChannel *)
VQwDataElement & operator+=(const VQwDataElement &)
Addition-assignment operator.
virtual void FillHistograms()=0
Fill the histograms for this data element.
void SetSubsystemName(TString sysname)
Set the name of the inheriting subsystem name.
virtual UInt_t UpdateErrorFlag()
Update the error flag based on the error flags of internally contained objects Return parameter is th...
virtual UInt_t GetEventcutErrorFlag()
return the error flag on this channel/device
void Ratio(const VQwDataElement &, const VQwDataElement &)
Ratio operator (base class fallback throws runtime error)
virtual void PrintInfo() const
Print multiple lines of information about this data element.
void SetNumberOfDataWords(const UInt_t &numwords)
Set the number of data words in this data element.
TString fElementName
Name of this data element.
UInt_t fNumberOfDataWords
Number of raw data words in this data element.
virtual void LoadChannelParameters(QwParameterFile &)
virtual void LoadMockDataParameters(QwParameterFile &)
virtual const TString & GetElementName() const
Get the name of this 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
UInt_t fErrorFlag
This the standard error code generated for the channel that contains the global/local/stability flags...
void SetElementName(const TString &name)
Set the name of this element.
size_t GetNumberOfDataWords()
Get the number of data words in this data element.
Bool_t IsNameEmpty() const
Is the name of this element empty?
virtual void AssignValueFrom(const VQwDataElement *)
VQwDataElement & operator=(const VQwDataElement &value)
Arithmetic assignment operator: Should only copy event-based data.
virtual void SetNeedsExternalClock(Bool_t)
virtual void ConstructHistograms(TDirectory *folder, TString &prefix)=0
Construct the histograms for this data element.
VQwDataElement & operator-=(const VQwDataElement &)
Subtraction-assignment operator.
void Sum(const VQwDataElement &, const VQwDataElement &)
Sum operator (base class fallback throws runtime error)
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.
virtual void SetExternalClockName(const std::string)
void Difference(const VQwDataElement &, const VQwDataElement &)
Difference operator (base class fallback throws runtime error)
virtual Bool_t NeedsExternalClock()
virtual std::string GetExternalClockName()
Bool_t CheckForBurpFail(const VQwDataElement *)
~VQwDataElement() override
Virtual destructor.
TString GetSubsystemName() const
Return the name of the inheriting subsystem name.
UInt_t GetGoodEventCount() const
TString GetModuleType() const
Return the type of the beam instrument.
void SetModuleType(TString ModuleType)
set the type of the beam instrument
Abstract base for concrete hardware channels implementing dual-operator pattern.