17 #ifndef __QwComptonPhotonDetector__
18 #define __QwComptonPhotonDetector__
66 Int_t
ProcessEvBuffer(
const UInt_t roc_id,
const UInt_t bank_id, UInt_t* buffer, UInt_t num_words);
81 void Scale(Double_t factor);
162 #endif // __QwComptonPhotonDetector__
void PrintErrorCounters() const
Report the number of events failed due to HW and event cut failures.
std::map< Int_t, std::vector< std::vector< Int_t > > > IntegratingTDC_Mapping_t
List of integrating TDC channels.
std::vector< QwPMT_Channel > fMultiTDC_Channel
Class for the decoding of the SIS3320 sampling ADC data.
QwSIS3320_Channel * GetSIS3320Channel(const TString name)
std::vector< QwPMT_Channel > fMultiQDC_Channel
Int_t LoadInputParameters(TString pedestalfile)
Int_t LoadEventCuts(TString &filename)
void ConstructBranch(TTree *tree, TString &prefix, QwParameterFile &trim_file)
Construct the branch and tree vector based on the trim file.
Int_t LoadEventCuts(TString filename)
Load the event cuts file.
void Ratio(VQwSubsystem *numer, VQwSubsystem *denom)
void Sum(VQwSubsystem *value1, VQwSubsystem *value2)
Int_t fTree_fNEvents
Expert tree fields.
std::vector< std::vector< QwPMT_Channel > > fMultiTDC_Events
void IncrementErrorCounters()
Increment the error counters.
std::map< Int_t, ChannelType_t > fMapping
void AccumulateRunningSum(VQwSubsystem *value)
VQwSubsystem & operator=(VQwSubsystem *value)
void DeaccumulateRunningSum(VQwSubsystem *value)
remove one entry from the running sums for devices
VQwSubsystem & operator-=(VQwSubsystem *value)
std::vector< std::vector< QwPMT_Channel > > fMultiQDC_Events
Virtual base class for the parity subsystems.
void EncodeEventData(std::vector< UInt_t > &buffer)
QwComptonPhotonDetector(TString name)
Constructor with name.
virtual void ConstructHistograms()
Construct the histograms for this subsystem.
void CalculateRunningAverage()
QwComptonPhotonDetector()
Private default constructor (not implemented, will throw linker error on use)
static const Bool_t kDebug
Bool_t CompareQDC(VQwSubsystem *source)
void Difference(VQwSubsystem *value1, VQwSubsystem *value2)
std::map< Int_t, std::vector< std::vector< Int_t > > > IntegratingADC_Mapping_t
List of integrating QDC channels.
virtual ~QwComptonPhotonDetector()
Virtual destructor.
IntegratingTDC_Mapping_t fMultiTDC_Mapping
void ConstructBranchAndVector(TTree *tree, TString &prefix, std::vector< Double_t > &values)
VQwSubsystem & operator+=(VQwSubsystem *value)
static void DefineOptions()
Define options function (note: no virtual static functions in C++)
void ProcessOptions(QwOptions &options)
Process the command line options.
QwComptonPhotonDetector(const QwComptonPhotonDetector &source)
Copy constructor.
UInt_t GetEventcutErrorFlag()
Return the error flag to the top level routines related to stability checks and ErrorFlag updates...
void RandomizeEventData(int helicity=0)
Bool_t CheckRunningAverages(Bool_t)
Bool_t Compare(VQwSubsystem *source)
std::vector< QwSIS3320_Channel > fSamplingADC
Bool_t CompareADC(VQwSubsystem *source)
The pure virtual base class of all subsystems.
Int_t ProcessEvBuffer(const UInt_t roc_id, const UInt_t bank_id, UInt_t *buffer, UInt_t num_words)
Int_t ProcessConfigurationBuffer(const UInt_t roc_id, const UInt_t bank_id, UInt_t *buffer, UInt_t num_words)
ChannelType_t
Mapping from ROC/subbank to channel type.
SamplingADC_Mapping_t fSamplingADC_Mapping
virtual void ConstructBranchAndVector(TTree *tree, TString &prefix, std::vector< Double_t > &values)=0
Construct the branch and tree vector.
Class for the analysis of Compton photon detector data.
void Scale(Double_t factor)
Bool_t ApplySingleEventCuts()
Apply the single event cuts.
TTree * fTree
Expert tree.
std::map< Int_t, std::vector< std::vector< Int_t > > > SamplingADC_Mapping_t
List of sampling ADC channels.
virtual void ConstructTree()
Construct the tree for this subsystem.
void FillTreeVector(std::vector< Double_t > &values) const
Int_t LoadChannelMap(TString mapfile)
Bool_t CompareTDC(VQwSubsystem *source)
IntegratingADC_Mapping_t fMultiQDC_Mapping
void UpdateErrorFlag(const VQwSubsystem *ev_error)
update the error flag in the subsystem level from the top level routines related to stability checks...
void ConstructBranch(TTree *tree, TString &prefix)
Construct the branch and tree vector.