15template<
class VQwSubsystem_t>
85 for (UInt_t word = 0; word < num_words; word++)
86 cheeseburger += buffer[word];
101 void Scale(Double_t factor)
override { };
112#ifdef HAS_RNTUPLE_SUPPORT
114 void ConstructNTupleAndVector(std::unique_ptr<ROOT::RNTupleModel>& model, TString& prefix, std::vector<Double_t>& values, std::vector<std::shared_ptr<Double_t>>& fieldPtrs)
override { };
116 void FillNTupleVector(std::vector<Double_t>& values)
const override { };
119 void ConstructBranch(TTree*, TString&) override { };
Virtual base class for parity analysis subsystems.
Int_t LoadChannelMap(TString mapfile) override
Map file definition.
void FillHistograms() override
Fill the histograms for this subsystem.
void ProcessEvent() override
Process the event.
VQwSubsystem & operator-=(VQwSubsystem *value) override
Bool_t ApplySingleEventCuts() override
Apply the single event cuts.
void Difference(VQwSubsystem *value1, VQwSubsystem *value2) override
void Sum(VQwSubsystem *value1, VQwSubsystem *value2) override
Sum/difference/ratio/scale operations.
QwOmnivore(const TString &name)
Constructor with name.
UInt_t GetEventcutErrorFlag() override
Return the error flag to the main routine.
void DeaccumulateRunningSum(VQwSubsystem *value, Int_t ErrorMask=0xFFFFFFF) override
void Scale(Double_t factor) override
Bool_t CheckForBurpFail(const VQwSubsystem *subsys) override
Int_t LoadEventCuts(TString filename) override
Load the event cuts file.
Int_t ProcessConfigurationBuffer(const ROCID_t roc_id, const BankID_t bank_id, UInt_t *buffer, UInt_t num_words) override
Process the configuration events.
Int_t LoadGeometryDefinition(TString mapfile) override
Geometry definition for tracking subsystems.
void ClearEventData() override
Get the hit list.
void UpdateErrorFlag(const VQwSubsystem *) override
Update error flag.
Int_t ProcessEvBuffer(const ROCID_t roc_id, const BankID_t bank_id, UInt_t *buffer, UInt_t num_words) override
TODO: The non-event-type-aware ProcessEvBuffer routine should be replaced with the event-type-aware v...
void CalculateRunningAverage() override
Calculate the average for all good events.
QwOmnivore(const QwOmnivore &source)
Copy constructor.
void ConstructBranch(TTree *, TString &, QwParameterFile &) override
Construct branch.
QwOmnivore()
Private default constructor (not implemented, will throw linker error on use)
Int_t ProcessEvBuffer(const UInt_t event_type, const ROCID_t roc_id, const BankID_t bank_id, UInt_t *buffer, UInt_t num_words) override
Process the event buffer.
VQwSubsystem & operator=(VQwSubsystem *value) override
Assignment/addition/subtraction operators.
void IncrementErrorCounters() override
Increment error counters.
VQwSubsystem & operator+=(VQwSubsystem *value) override
void PrintErrorCounters() const override
Report the number of events failed due to HW and event cut failures.
void ConstructHistograms(TDirectory *folder, TString &prefix) override
Construct the histograms for this subsystem in a folder with a prefix.
void FillTreeVector(QwRootTreeBranchVector &values) const override
Fill the tree vector.
~QwOmnivore() override
Virtual destructor.
void Ratio(VQwSubsystem *numer, VQwSubsystem *denom) override
void AccumulateRunningSum(VQwSubsystem *value, Int_t count=0, Int_t ErrorMask=0xFFFFFFF) override
Update the running sums for devices.
Int_t LoadInputParameters(TString mapfile) override
Parameter file definition.
void ConstructBranchAndVector(TTree *tree, TString &prefix, QwRootTreeBranchVector &values) override
Construct the branch and tree vector.
Configuration file parser with flexible tokenization and search capabilities.
A helper class to manage a vector of branch entries for ROOT trees.
Base class for subsystems implementing container-delegation pattern.