9 #include <boost/shared_ptr.hpp>
31 for (
size_t i = 0; i <
fScaler.size(); i++) {
33 if ((scaler_tmp = dynamic_cast<QwSIS3801D24_Channel*>(source.
fScaler.at(i)))) {
36 }
else if ((scaler_tmp = dynamic_cast<QwSIS3801D32_Channel*>(source.
fScaler.at(i)))) {
55 Int_t
ProcessEvBuffer(
const UInt_t roc_id,
const UInt_t bank_id, UInt_t *buffer, UInt_t num_words);
76 void Scale(Double_t factor);
102 return fScaler.at(index)->GetValue();
127 std::vector< std::pair< VQwScaler_Channel*, double > >
fNorm;
Bool_t Compare(VQwSubsystem *source)
Int_t LoadChannelMap(TString mapfile)
void FillTreeVector(std::vector< Double_t > &values) const
Fill the tree vector.
void DeaccumulateRunningSum(VQwSubsystem *value)
remove one entry from the running sums for devices
Int_t ProcessConfigurationBuffer(const UInt_t roc_id, const UInt_t bank_id, UInt_t *buffer, UInt_t num_words)
void PrintErrorCounters() const
Report the number of events failed due to HW and event cut failures.
std::vector< std::pair< VQwScaler_Channel *, double > > fNorm
VQwSubsystem & operator=(VQwSubsystem *value)
Virtual base class for the parity subsystems.
Int_t ProcessEvBuffer(const UInt_t roc_id, const UInt_t bank_id, UInt_t *buffer, UInt_t num_words)
Bool_t ApplySingleEventCuts()
Apply the single event cuts.
Module_Channel_to_Scaler_Map_t fModuleChannel_Map
virtual void ConstructHistograms()
Construct the histograms for this subsystem.
void FillHistograms()
Fill the histograms for this subsystem.
void UpdateErrorFlag(const VQwSubsystem *ev_error)
update the error flag in the subsystem level from the top level routines related to stability checks...
QwScaler(const QwScaler &source)
Copy constructor.
Name_to_Scaler_Map_t fName_Map
static void DefineOptions()
Define options function (note: no virtual static functions in C++)
void IncrementErrorCounters()
Increment the error counters.
std::map< Int_t, std::vector< std::vector< Int_t > > > Subbank_to_Scaler_Map_t
VQwSubsystem & operator+=(VQwSubsystem *value)
virtual ~QwScaler()
Destructor.
void CalculateRunningAverage()
Int_t GetChannelIndex(TString channelName, UInt_t module_number)
UInt_t GetEventcutErrorFlag()
Return the error flag to the top level routines related to stability checks and ErrorFlag updates...
Subbank_to_Scaler_Map_t fSubbank_Map
The pure virtual base class of all subsystems.
Double_t GetDataForChannelInModule(Int_t modnum, Int_t channum)
class QwScaler_Channel< 0xffffffff, 0 > QwSIS3801D32_Channel
void Difference(VQwSubsystem *value1, VQwSubsystem *value2)
std::vector< UInt_t > fBufferOffset
class QwScaler_Channel< 0x00ffffff, 0 > QwSIS3801D24_Channel
void ConstructBranch(TTree *tree, TString &prefix)
Construct the branch and tree vector.
virtual void ConstructBranchAndVector(TTree *tree, TString &prefix, std::vector< Double_t > &values)=0
Construct the branch and tree vector.
std::map< TString, Int_t > Name_to_Scaler_Map_t
void ConstructBranchAndVector(TTree *tree, TString &prefix, std::vector< Double_t > &values)
Construct the branch and tree vector.
VQwSubsystem & operator-=(VQwSubsystem *value)
void Scale(Double_t factor)
std::map< std::pair< Int_t, Int_t >, Int_t > Module_Channel_to_Scaler_Map_t
void ConstructBranch(TTree *tree, TString &prefix, QwParameterFile &trim_file)
Construct the branch and tree vector based on the trim file.
void ProcessOptions(QwOptions &options)
Process the command line options.
void Ratio(VQwSubsystem *value1, VQwSubsystem *value2)
std::vector< VQwScaler_Channel * > fScaler
QwScaler()
Private default constructor (not implemented, will throw linker error on use)
Int_t LoadInputParameters(TString pedestalfile)
Mandatory parameter file definition.
void Sum(VQwSubsystem *value1, VQwSubsystem *value2)
Int_t LoadEventCuts(TString filename)
Load the event cuts file.
void AccumulateRunningSum(VQwSubsystem *value)
Double_t * GetRawChannelArray()