11 #ifndef __QWMAINCERENKOVDETECTOR__
12 #define __QWMAINCERENKOVDETECTOR__
48 fTargetX.InitializeChannel(
"x_targ",
"derived");
49 fTargetY.InitializeChannel(
"y_targ",
"derived");
83 Int_t
ProcessEvBuffer(
const UInt_t roc_id,
const UInt_t bank_id, UInt_t* buffer, UInt_t num_words);
137 void Scale(Double_t factor);
151 Bool_t status = kTRUE;
void ConstructBranch(TTree *tree, TString &prefix)
Construct the branch and tree vector.
QwMainCerenkovDetector(const QwMainCerenkovDetector &source)
Copy constructor.
QwBeamAngle fTargetYprime
void Normalize(VQwDataElement *denom)
class QwVQWK_Channel QwBeamPosition
UInt_t GetEventcutErrorFlag()
Return the error flag to the top level routines related to stability checks and ErrorFlag updates...
void FillTreeVector(std::vector< Double_t > &values) const
Fill the tree vector.
Bool_t bIsExchangedDataValid
void FillHistograms()
Fill the histograms for this subsystem.
void WritePromptSummary(QwPromptSummary *ps, TString type)
std::vector< Double_t > fWeight
void SetRandomEventAsymmetry(Double_t asymmetry)
Int_t LoadEventCuts(TString filename)
Load the event cuts file.
const QwIntegrationPMT * GetChannel(const TString name) const
void IncrementErrorCounters()
Increment the error counters.
void Difference(VQwSubsystem *value1, VQwSubsystem *value2)
Class for blinding data, adapted from G0 blinder class.
virtual UInt_t UpdateErrorFlag()
Uses the error flags of contained data elements to update Returns the error flag to the top level rou...
virtual ~QwMainCerenkovDetector()
Virtual destructor.
const QwIntegrationPMT * GetIntegrationPMT(const TString name) const
std::vector< QwIntegrationPMT > fIntegrationPMT
Virtual base class for the parity subsystems.
QwBeamCharge fTargetCharge
void Blind(const QwBlinder *blinder)
Blind the asymmetry.
void ProcessOptions(QwOptions &options)
EQwPMTInstrumentType GetDetectorTypeID(TString name)
static const UInt_t kInvalidSubelementIndex
virtual void ConstructHistograms()
Construct the histograms for this subsystem.
Int_t ProcessConfigurationBuffer(const UInt_t roc_id, const UInt_t bank_id, UInt_t *buffer, UInt_t num_words)
std::vector< QwMainCerenkovDetectorID > fMainDetID
void SetRandomEventParameters(Double_t mean, Double_t sigma)
void FillDB(QwParityDB *db, TString datatype)
Fill the database.
std::vector< QwCombinedPMT > fCombinedPMT
Bool_t PublishInternalValues() const
void PrintValue() const
Print values of all channels.
void ConstructHistograms(TDirectory *folder)
Construct the histograms for this subsystem in a folder.
The pure virtual base class of all data elements.
QwMainCerenkovDetectorID()
static void DefineOptions()
Define options function (note: no virtual static functions in C++)
void FillErrDB(QwParityDB *db, TString datatype)
Int_t LoadChannelMap(TString mapfile)
Mandatory map file definition.
void DoNormalization(Double_t factor=1.0)
VQwSubsystem & operator-=(VQwSubsystem *value)
class QwVQWK_Channel QwBeamCharge
void PrintInfo() const
Print some information about the subsystem.
void ConstructBranchAndVector(TTree *tree, TString &prefix, std::vector< Double_t > &values)
Construct the branch and tree vector.
class QwVQWK_Channel QwBeamAngle
QwMainCerenkovDetector(const TString &name)
Constructor with name.
void CalculateRunningAverage()
Calculate the average for all good events.
Bool_t Compare(VQwSubsystem *source)
void ProcessEvent_2()
Process the event data again, including data from other subsystems. Not all derived classes will requ...
const QwCombinedPMT * GetCombinedPMT(const TString name) const
void PrintErrorCounters() const
Report the number of events failed due to HW and event cut failures.
The pure virtual base class of all subsystems.
Bool_t ApplySingleEventCuts()
Apply the single event cuts.
virtual void ConstructBranchAndVector(TTree *tree, TString &prefix, std::vector< Double_t > &values)=0
Construct the branch and tree vector.
void ExchangeProcessedData()
void PrintDetectorID() const
std::vector< TString > fCombinedChannelNames
VQwSubsystem & operator=(VQwSubsystem *value)
Assignment Note: Must be called at the beginning of all subsystems routine call to operator=(VQwSubsy...
Int_t LoadInputParameters(TString pedestalfile)
Mandatory parameter file definition.
VQwSubsystem & operator+=(VQwSubsystem *value)
Int_t GetDetectorIndex(EQwPMTInstrumentType TypeID, TString name)
void AccumulateRunningSum(VQwSubsystem *value)
Update the running sums for devices.
void Ratio(VQwSubsystem *numer, VQwSubsystem *denom)
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...
void DeaccumulateRunningSum(VQwSubsystem *value)
remove one entry from the running sums for devices
void EncodeEventData(std::vector< UInt_t > &buffer)
QwMainCerenkovDetector()
Private default constructor (not implemented, will throw linker error on use)
EQwPMTInstrumentType fTypeID
class QwVQWK_Channel QwBeamEnergy
QwBeamEnergy fTargetEnergy
void Scale(Double_t factor)
void RandomizeEventData(int helicity=0, Double_t time=0.0)
static const Bool_t bDEBUG
QwBeamAngle fTargetXprime
void Sum(VQwSubsystem *value1, VQwSubsystem *value2)