JAPAn
Just Another Parity Analyzer
Loading...
Searching...
No Matches
QwOmnivore< VQwSubsystem_t > Class Template Reference

An omnivorous subsystem. More...

#include <QwOmnivore.h>

+ Inheritance diagram for QwOmnivore< VQwSubsystem_t >:
+ Collaboration diagram for QwOmnivore< VQwSubsystem_t >:

Public Member Functions

 QwOmnivore (const TString &name)
 Constructor with name.
 
 QwOmnivore (const QwOmnivore &source)
 Copy constructor.
 
 ~QwOmnivore () override
 Virtual destructor.
 
Int_t LoadChannelMap (TString mapfile) override
 Map file definition.
 
Int_t LoadInputParameters (TString mapfile) override
 Parameter file definition.
 
Int_t LoadGeometryDefinition (TString mapfile) override
 Geometry definition for tracking subsystems.
 
Int_t LoadEventCuts (TString filename) override
 Load the event cuts file.
 
Bool_t ApplySingleEventCuts () override
 Apply the single event cuts.
 
Bool_t CheckForBurpFail (const VQwSubsystem *subsys) override
 
void PrintErrorCounters () const override
 Report the number of events failed due to HW and event cut failures.
 
UInt_t GetEventcutErrorFlag () override
 Return the error flag to the main routine.
 
void IncrementErrorCounters () override
 Increment error counters.
 
void UpdateErrorFlag (const VQwSubsystem *) override
 Update error flag.
 
void ClearEventData () override
 Get the hit list.
 
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 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.
 
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 version.
 
void ProcessEvent () override
 Process the event.
 
VQwSubsystemoperator= (VQwSubsystem *value) override
 Assignment/addition/subtraction operators.
 
VQwSubsystemoperator+= (VQwSubsystem *value) override
 
VQwSubsystemoperator-= (VQwSubsystem *value) override
 
void Sum (VQwSubsystem *value1, VQwSubsystem *value2) override
 Sum/difference/ratio/scale operations.
 
void Difference (VQwSubsystem *value1, VQwSubsystem *value2) override
 
void Ratio (VQwSubsystem *numer, VQwSubsystem *denom) override
 
void Scale (Double_t factor) override
 
void ConstructHistograms (TDirectory *folder, TString &prefix) override
 Construct the histograms for this subsystem in a folder with a prefix.
 
void FillHistograms () override
 Fill the histograms for this subsystem.
 
void ConstructBranchAndVector (TTree *tree, TString &prefix, QwRootTreeBranchVector &values) override
 Construct the branch and tree vector.
 
void FillTreeVector (QwRootTreeBranchVector &values) const override
 Fill the tree vector.
 
void ConstructBranch (TTree *, TString &) override
 Construct branch.
 
void ConstructBranch (TTree *, TString &, QwParameterFile &) override
 Construct branch.
 
void AccumulateRunningSum (VQwSubsystem *value, Int_t count=0, Int_t ErrorMask=0xFFFFFFF) override
 Update the running sums for devices.
 
void DeaccumulateRunningSum (VQwSubsystem *value, Int_t ErrorMask=0xFFFFFFF) override
 
void CalculateRunningAverage () override
 Calculate the average for all good events.
 

Private Member Functions

 QwOmnivore ()
 Private default constructor (not implemented, will throw linker error on use)
 

Detailed Description

template<class VQwSubsystem_t>
class QwOmnivore< VQwSubsystem_t >

An omnivorous subsystem.

Definition at line 16 of file QwOmnivore.h.

Constructor & Destructor Documentation

◆ QwOmnivore() [1/3]

template<class VQwSubsystem_t>
QwOmnivore< VQwSubsystem_t >::QwOmnivore ( )
private

Private default constructor (not implemented, will throw linker error on use)

Referenced by QwOmnivore().

+ Here is the caller graph for this function:

◆ QwOmnivore() [2/3]

template<class VQwSubsystem_t>
QwOmnivore< VQwSubsystem_t >::QwOmnivore ( const TString & name)
inline

Constructor with name.

Definition at line 24 of file QwOmnivore.h.

An omnivorous subsystem.
Definition QwOmnivore.h:16

◆ QwOmnivore() [3/3]

template<class VQwSubsystem_t>
QwOmnivore< VQwSubsystem_t >::QwOmnivore ( const QwOmnivore< VQwSubsystem_t > & source)
inline

Copy constructor.

Definition at line 26 of file QwOmnivore.h.

References QwOmnivore().

+ Here is the call graph for this function:

◆ ~QwOmnivore()

template<class VQwSubsystem_t>
QwOmnivore< VQwSubsystem_t >::~QwOmnivore ( )
inlineoverride

Virtual destructor.

Definition at line 30 of file QwOmnivore.h.

30{ };

Member Function Documentation

◆ AccumulateRunningSum()

template<class VQwSubsystem_t>
void QwOmnivore< VQwSubsystem_t >::AccumulateRunningSum ( VQwSubsystem * value,
Int_t count = 0,
Int_t ErrorMask = 0xFFFFFFF )
inlineoverride

Update the running sums for devices.

Definition at line 124 of file QwOmnivore.h.

124{ };

◆ ApplySingleEventCuts()

template<class VQwSubsystem_t>
Bool_t QwOmnivore< VQwSubsystem_t >::ApplySingleEventCuts ( )
inlineoverride

Apply the single event cuts.

Definition at line 42 of file QwOmnivore.h.

42{ return kTRUE; };

◆ CalculateRunningAverage()

template<class VQwSubsystem_t>
void QwOmnivore< VQwSubsystem_t >::CalculateRunningAverage ( )
inlineoverride

Calculate the average for all good events.

Definition at line 127 of file QwOmnivore.h.

127{ };

◆ CheckForBurpFail()

template<class VQwSubsystem_t>
Bool_t QwOmnivore< VQwSubsystem_t >::CheckForBurpFail ( const VQwSubsystem * subsys)
inlineoverride

Definition at line 44 of file QwOmnivore.h.

44{return kFALSE;};

◆ ClearEventData()

template<class VQwSubsystem_t>
void QwOmnivore< VQwSubsystem_t >::ClearEventData ( )
inlineoverride

Get the hit list.

Get the detector geometry information Clear event data

Definition at line 63 of file QwOmnivore.h.

63{ };

◆ ConstructBranch() [1/2]

template<class VQwSubsystem_t>
void QwOmnivore< VQwSubsystem_t >::ConstructBranch ( TTree * ,
TString &  )
inlineoverride

Construct branch.

Definition at line 119 of file QwOmnivore.h.

119{ };

◆ ConstructBranch() [2/2]

template<class VQwSubsystem_t>
void QwOmnivore< VQwSubsystem_t >::ConstructBranch ( TTree * ,
TString & ,
QwParameterFile &  )
inlineoverride

Construct branch.

Definition at line 121 of file QwOmnivore.h.

121{ };

◆ ConstructBranchAndVector()

template<class VQwSubsystem_t>
void QwOmnivore< VQwSubsystem_t >::ConstructBranchAndVector ( TTree * tree,
TString & prefix,
QwRootTreeBranchVector & values )
inlineoverride

Construct the branch and tree vector.

Definition at line 109 of file QwOmnivore.h.

109{ };

◆ ConstructHistograms()

template<class VQwSubsystem_t>
void QwOmnivore< VQwSubsystem_t >::ConstructHistograms ( TDirectory * folder,
TString & prefix )
inlineoverride

Construct the histograms for this subsystem in a folder with a prefix.

Definition at line 104 of file QwOmnivore.h.

104{ };

◆ DeaccumulateRunningSum()

template<class VQwSubsystem_t>
void QwOmnivore< VQwSubsystem_t >::DeaccumulateRunningSum ( VQwSubsystem * value,
Int_t ErrorMask = 0xFFFFFFF )
inlineoverride

Definition at line 125 of file QwOmnivore.h.

125{ };

◆ Difference()

template<class VQwSubsystem_t>
void QwOmnivore< VQwSubsystem_t >::Difference ( VQwSubsystem * value1,
VQwSubsystem * value2 )
inlineoverride

Definition at line 99 of file QwOmnivore.h.

99{ };

◆ FillHistograms()

template<class VQwSubsystem_t>
void QwOmnivore< VQwSubsystem_t >::FillHistograms ( )
inlineoverride

Fill the histograms for this subsystem.

Definition at line 106 of file QwOmnivore.h.

106{ };

◆ FillTreeVector()

template<class VQwSubsystem_t>
void QwOmnivore< VQwSubsystem_t >::FillTreeVector ( QwRootTreeBranchVector & values) const
inlineoverride

Fill the tree vector.

Definition at line 111 of file QwOmnivore.h.

111{ };

◆ GetEventcutErrorFlag()

template<class VQwSubsystem_t>
UInt_t QwOmnivore< VQwSubsystem_t >::GetEventcutErrorFlag ( )
inlineoverride

Return the error flag to the main routine.

Definition at line 49 of file QwOmnivore.h.

49{ return 0; };

◆ IncrementErrorCounters()

template<class VQwSubsystem_t>
void QwOmnivore< VQwSubsystem_t >::IncrementErrorCounters ( )
inlineoverride

Increment error counters.

Definition at line 52 of file QwOmnivore.h.

52{ };

◆ LoadChannelMap()

template<class VQwSubsystem_t>
Int_t QwOmnivore< VQwSubsystem_t >::LoadChannelMap ( TString mapfile)
inlineoverride

Map file definition.

Definition at line 33 of file QwOmnivore.h.

33{ return 0; };

◆ LoadEventCuts()

template<class VQwSubsystem_t>
Int_t QwOmnivore< VQwSubsystem_t >::LoadEventCuts ( TString filename)
inlineoverride

Load the event cuts file.

Definition at line 40 of file QwOmnivore.h.

40{ return 0; };

◆ LoadGeometryDefinition()

template<class VQwSubsystem_t>
Int_t QwOmnivore< VQwSubsystem_t >::LoadGeometryDefinition ( TString mapfile)
inlineoverride

Geometry definition for tracking subsystems.

Definition at line 37 of file QwOmnivore.h.

37{ return 0; };

◆ LoadInputParameters()

template<class VQwSubsystem_t>
Int_t QwOmnivore< VQwSubsystem_t >::LoadInputParameters ( TString mapfile)
inlineoverride

Parameter file definition.

Definition at line 35 of file QwOmnivore.h.

35{ return 0; };

◆ operator+=()

template<class VQwSubsystem_t>
VQwSubsystem & QwOmnivore< VQwSubsystem_t >::operator+= ( VQwSubsystem * value)
inlineoverride

Definition at line 95 of file QwOmnivore.h.

95{ return *this; };

◆ operator-=()

template<class VQwSubsystem_t>
VQwSubsystem & QwOmnivore< VQwSubsystem_t >::operator-= ( VQwSubsystem * value)
inlineoverride

Definition at line 96 of file QwOmnivore.h.

96{ return *this; };

◆ operator=()

template<class VQwSubsystem_t>
VQwSubsystem & QwOmnivore< VQwSubsystem_t >::operator= ( VQwSubsystem * value)
inlineoverride

Assignment/addition/subtraction operators.

Definition at line 94 of file QwOmnivore.h.

94{ return *this; };

◆ PrintErrorCounters()

template<class VQwSubsystem_t>
void QwOmnivore< VQwSubsystem_t >::PrintErrorCounters ( ) const
inlineoverride

Report the number of events failed due to HW and event cut failures.

Definition at line 47 of file QwOmnivore.h.

47{ };

◆ ProcessConfigurationBuffer()

template<class VQwSubsystem_t>
Int_t QwOmnivore< VQwSubsystem_t >::ProcessConfigurationBuffer ( const ROCID_t roc_id,
const BankID_t bank_id,
UInt_t * buffer,
UInt_t num_words )
inlineoverride

Process the configuration events.

Om nom nom nom

Definition at line 66 of file QwOmnivore.h.

66 {
67 /// Om nom nom nom
68 // TODO (wdc) configuration events seem to have num_words = 0xffffffff
69 //UInt_t cheeseburger;
70 //for (UInt_t word = 0; word < num_words; word++)
71 // cheeseburger += buffer[word]; // (addition to prevent compiler from optimizing local away)
72 return 0; // my plate is empty
73 };

◆ ProcessEvBuffer() [1/2]

template<class VQwSubsystem_t>
Int_t QwOmnivore< VQwSubsystem_t >::ProcessEvBuffer ( const ROCID_t roc_id,
const BankID_t bank_id,
UInt_t * buffer,
UInt_t num_words )
inlineoverride

TODO: The non-event-type-aware ProcessEvBuffer routine should be replaced with the event-type-aware version.

Om nom nom nom

Definition at line 82 of file QwOmnivore.h.

82 {
83 /// Om nom nom nom
85 for (UInt_t word = 0; word < num_words; word++)
86 cheeseburger += buffer[word]; // (addition to prevent compiler from optimizing local away)
87 return 0; // my plate is empty
88 };

◆ ProcessEvBuffer() [2/2]

template<class VQwSubsystem_t>
Int_t QwOmnivore< VQwSubsystem_t >::ProcessEvBuffer ( const UInt_t event_type,
const ROCID_t roc_id,
const BankID_t bank_id,
UInt_t * buffer,
UInt_t num_words )
inlineoverride

Process the event buffer.

TODO: Subsystems should be changing their ProcessEvBuffer routines to take the event_type as the first argument. But in the meantime, default to just calling the non-event-type-aware ProcessEvBuffer routine.

Definition at line 76 of file QwOmnivore.h.

76 {
77 /// TODO: Subsystems should be changing their ProcessEvBuffer routines to take the event_type as the first
78 /// argument. But in the meantime, default to just calling the non-event-type-aware ProcessEvBuffer routine.
80 };
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.
Definition QwOmnivore.h:76

References ProcessEvBuffer().

Referenced by ProcessEvBuffer().

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

◆ ProcessEvent()

template<class VQwSubsystem_t>
void QwOmnivore< VQwSubsystem_t >::ProcessEvent ( )
inlineoverride

Process the event.

Definition at line 91 of file QwOmnivore.h.

91{ };

◆ Ratio()

template<class VQwSubsystem_t>
void QwOmnivore< VQwSubsystem_t >::Ratio ( VQwSubsystem * numer,
VQwSubsystem * denom )
inlineoverride

Definition at line 100 of file QwOmnivore.h.

100{ };

◆ Scale()

template<class VQwSubsystem_t>
void QwOmnivore< VQwSubsystem_t >::Scale ( Double_t factor)
inlineoverride

Definition at line 101 of file QwOmnivore.h.

101{ };

◆ Sum()

template<class VQwSubsystem_t>
void QwOmnivore< VQwSubsystem_t >::Sum ( VQwSubsystem * value1,
VQwSubsystem * value2 )
inlineoverride

Sum/difference/ratio/scale operations.

Definition at line 98 of file QwOmnivore.h.

98{ };

◆ UpdateErrorFlag()

template<class VQwSubsystem_t>
void QwOmnivore< VQwSubsystem_t >::UpdateErrorFlag ( const VQwSubsystem * )
inlineoverride

Update error flag.

Definition at line 54 of file QwOmnivore.h.

54{ };

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