55 virtual void FillDB(QwParityDB * , TString ) { };
56 virtual void FillErrDB(QwParityDB * , TString ) { };
77 virtual void Scale(Double_t factor) = 0;
89 Int_t eventcut_flag = 1;
101 TString varname, varvalue;
103 if (varname ==
"EVENTCUTS"){
Definition of the pure virtual base class of all subsystems.
Parameter file parsing and management.
Configuration file parser with flexible tokenization and search capabilities.
void TrimWhitespace(TString::EStripType head_tail=TString::kBoth)
Bool_t HasVariablePair(const std::string &separatorchars, std::string &varname, std::string &varvalue)
void TrimComment(const char commentchar)
static UInt_t GetUInt(const TString &varvalue)
const std::pair< TString, TString > GetParamFileNameContents()
void SetEventTypeMask(const UInt_t mask)
Set event type mask.
Bool_t Compare(VQwSubsystem *source)
std::map< TString, TString > fDetectorMaps
Map of file name to full path or content.
VQwSubsystem(const TString &name)
Constructor with name.
Data blinding utilities for parity violation analysis.
virtual VQwSubsystem & operator-=(VQwSubsystem *value)=0
VQwSubsystemParity(const VQwSubsystemParity &source)
Copy constructor.
virtual void Difference(VQwSubsystem *value1, VQwSubsystem *value2)
virtual void LoadEventCuts_Init()
virtual void Ratio(VQwSubsystem *numer, VQwSubsystem *denom)=0
~VQwSubsystemParity() override
Default destructor.
VQwSubsystemParity()
Private default constructor (not implemented, will throw linker error on use)
virtual Bool_t CheckForBurpFail(const VQwSubsystem *subsys)=0
Report the number of events failed due to HW and event cut failures.
virtual void LoadEventCuts_Fin(Int_t &)
virtual UInt_t GetEventcutErrorFlag()=0
Return the error flag to the top level routines related to stability checks and ErrorFlag updates.
virtual void PrintValue() const
Print values of all channels.
virtual void Blind(const QwBlinder *, const VQwSubsystemParity *)
Blind the difference of this subsystem.
virtual void FillDB_MPS(QwParityDB *, TString)
Fill the database with MPS-based variables Note that most subsystems don't need to do this.
virtual Bool_t ApplySingleEventCuts()=0
Apply the single event cuts.
virtual void FillDB(QwParityDB *, TString)
Fill the database.
virtual void Blind(const QwBlinder *)
Blind the asymmetry of this subsystem.
virtual void WritePromptSummary(QwPromptSummary *, TString)
virtual void IncrementErrorCounters()=0
Increment the error counters.
virtual void PrintErrorCounters() const =0
virtual UInt_t UpdateErrorFlag()
Uses the error flags of contained data elements to update Returns the error flag to the top level rou...
virtual void UpdateErrorFlag(const VQwSubsystem *ev_error)=0
update the error flag in the subsystem level from the top level routines related to stability checks....
virtual void LoadMockDataParameters(TString)
Int_t LoadEventCuts(TString filename) override
Load the event cuts file.
virtual void AccumulateRunningSum(VQwSubsystem *value, Int_t count=0, Int_t ErrorMask=0xFFFFFFF)=0
Update the running sums for devices.
virtual void LoadEventCuts_Line(QwParameterFile &, TString &, Int_t &)
virtual void CalculateRunningAverage()=0
Calculate the average for all good events.
VQwSubsystem & operator=(VQwSubsystem *value) override=0
Assignment Note: Must be called at the beginning of all subsystems routine call to operator=(VQwSubsy...
virtual Bool_t CheckForEndOfBurst() const
virtual void Sum(VQwSubsystem *value1, VQwSubsystem *value2)
virtual void FillErrDB(QwParityDB *, TString)
virtual void DeaccumulateRunningSum(VQwSubsystem *value, Int_t ErrorMask=0xFFFFFFF)=0
remove one entry from the running sums for devices
virtual void Scale(Double_t factor)=0
VQwSubsystemParity(const TString &name)
Constructor with name.
virtual VQwSubsystem & operator+=(VQwSubsystem *value)=0