71 UInt_t* buffer, UInt_t num_words);
72 Int_t
ProcessEvBuffer(
const UInt_t roc_id,
const UInt_t bank_id, UInt_t* buffer, UInt_t num_words) {
75 Int_t
ProcessEvBuffer(UInt_t ev_type,
const UInt_t roc_id,
const UInt_t bank_id, UInt_t* buffer, UInt_t num_words);
115 void Scale(Double_t factor) {
return;};
147 return ((ioregister & mask) == mask);
298 return (0x6996 >> v) & 1;
void ProcessEventInputRegisterMode()
Bool_t IsHelicityIgnored()
UInt_t GetRandbit24(UInt_t &ranseed)
size_t fTreeArrayNumEntries
void SetFirstBits(UInt_t nbits, UInt_t firstbits)
void Difference(VQwSubsystem *value1, VQwSubsystem *value2)
void Ratio(VQwSubsystem *numer, VQwSubsystem *denom)
void FillErrDB(QwParityDB *db, TString datatype)
UInt_t GetRandbit30(UInt_t &ranseed)
Int_t ProcessEvBuffer(const UInt_t roc_id, const UInt_t bank_id, UInt_t *buffer, UInt_t num_words)
TODO: The non-event-type-aware ProcessEvBuffer routine should be replaced with the event-type-aware v...
virtual UInt_t GetRandbit(UInt_t &ranseed)
void Sum(VQwSubsystem *value1, VQwSubsystem *value2)
Int_t ProcessConfigurationBuffer(const UInt_t roc_id, const UInt_t bank_id, UInt_t *buffer, UInt_t num_words)
std::vector< std::pair< Int_t, Int_t > > fWordsPerSubbank
void ProcessOptions(QwOptions &options)
Process the command line options.
Bool_t IsGoodPhaseNumber()
void ProcessEventUserbitMode()
virtual Bool_t CollectRandBits()
Long_t GetPatternNumber()
virtual Bool_t IsGoodHelicity()
Virtual base class for the parity subsystems.
void Scale(Double_t factor)
static const UInt_t kInputReg_FakeMPS
Default mask for fake MPS latch bit.
void IncrementErrorCounters()
Increment the error counters.
void ClearErrorCounters()
unsigned int parity(unsigned int v)
UInt_t GetRandomSeedActual()
UInt_t kEventTypeHelMinus
virtual void ConstructHistograms()
Construct the histograms for this subsystem.
Int_t GetMaxPatternPhase()
void SetHelicityDelay(Int_t delay)
static const Int_t kUndefinedHelicity
Int_t GetMinPatternPhase()
UInt_t fHelicityBitPattern
void PrintErrorCounters() const
Report the number of events failed due to HW and event cut failures.
void FillDB(QwParityDB *db, TString type)
Fill the database.
Bool_t CollectRandBits30()
Int_t fPatternPhaseOffset
Bool_t IsGoodPatternNumber()
Int_t GetHelicityDelayed()
VQwSubsystem & operator+=(VQwSubsystem *value)
VQwSubsystem & operator=(VQwSubsystem *value)
Assignment Note: Must be called at the beginning of all subsystems routine call to operator=(VQwSubsy...
Int_t GetHelicityReported()
Int_t fDelayedPatternPolarity
Reported polarity of the current pattern.
static void DefineOptions()
Define options function (note: no virtual static functions in C++)
void EncodeEventData(std::vector< UInt_t > &buffer)
Int_t LoadEventCuts(TString filename)
Load the event cuts file.
Bool_t Compare(VQwSubsystem *source)
Int_t LoadChannelMap(TString mapfile)
Mandatory map file definition.
Int_t fActualPatternPolarity
True polarity of the current pattern.
virtual void ClearEventData()
UInt_t GetEventcutErrorFlag()
Return the error flag to the top level routines related to stability checks and ErrorFlag updates...
void SetHelicityBitPattern(UInt_t bits)
QwHelicity()
Private default constructor (not implemented, will throw linker error on use)
VQwSubsystem & operator-=(VQwSubsystem *value)
void FillHistograms()
Fill the histograms for this subsystem.
UInt_t BuildHelicityBitPattern(Int_t patternsize)
Int_t fPreviousPatternPolarity
True polarity of the previous pattern.
Int_t fNumMissedEventBlocks
The pure virtual base class of all subsystems.
Bool_t fSuppressMPSErrorMsgs
void SetEventPatternPhase(Int_t event, Int_t pattern, Int_t phase)
void DeaccumulateRunningSum(VQwSubsystem *value)
remove one entry from the running sums for devices
UInt_t GetRandomSeedDelayed()
virtual void ConstructBranchAndVector(TTree *tree, TString &prefix, std::vector< Double_t > &values)=0
Construct the branch and tree vector.
Int_t LoadInputParameters(TString pedestalfile)
Mandatory parameter file definition.
Bool_t CheckIORegisterMask(const UInt_t &ioregister, const UInt_t &mask) const
static const Bool_t kDEBUG
void FillTreeVector(std::vector< Double_t > &values) const
Fill the tree vector.
UInt_t GetRandomSeed(UShort_t *first24randbits)
void UpdateErrorFlag(const VQwSubsystem *ev_error)
update the error flag in the subsystem level from the top level routines related to stability checks...
std::vector< QwWord > fWord
Int_t fHelicityDecodingMode
void ProcessEventInputMollerMode()
Int_t fPatternPhaseNumber
void SetHistoTreeSave(const TString &prefix)
Int_t GetHelicityActual()
Bool_t MatchActualHelicity(Int_t actual)
virtual void ProcessEvent()
void AccumulateRunningSum(VQwSubsystem *value)
Update the running sums for devices.
virtual ~QwHelicity()
Virtual destructor.
static const UInt_t kDefaultHelicityBitPattern
Bool_t CollectRandBits24()
Bool_t ApplySingleEventCuts()
Apply the single event cuts.
void ConstructBranchAndVector(TTree *tree, TString &prefix, std::vector< Double_t > &values)
Construct the branch and tree vector.
Bool_t IsGoodEventNumber()
Int_t fPatternPhaseNumberOld
void CalculateRunningAverage()
Calculate the average for all good events.
Int_t fPatternNumberFirst
void ConstructBranch(TTree *tree, TString &prefix)
Construct the branch and tree vector.