8 #ifndef __QWTRIGGERSCINTILLATOR__
9 #define __QWTRIGGERSCINTILLATOR__
64 Int_t
ProcessEvBuffer(
const UInt_t roc_id,
const UInt_t bank_id, UInt_t* buffer, UInt_t num_words);
69 void FillRawTDCWord(Int_t bank_index, Int_t slot_num, Int_t chan, UInt_t data);
122 void FillRawWord(Int_t bank_index, Int_t slot_num, Int_t chan, UInt_t data);
166 std::vector< std::vector< std::pair< EQwModuleType, Int_t> > >
fModulePtrs;
169 std::vector< std::vector<QwPMT_Channel> >
fPMTs;
170 std::vector<QwSIS3801D24_Channel>
fSCAs;
EQwModuleType RegisterModuleType(TString moduletype)
void FillTreeVector(std::vector< Double_t > &values) const
Fill the tree vector.
EQwModuleType fCurrentType
F1TDCs configuration and reference siganls container.
virtual ~QwTriggerScintillator()
Virtual destructor.
Int_t FindSignalIndex(const EQwModuleType modtype, const TString &name) const
Int_t RegisterSubbank(const UInt_t bank_id)
void GetHitList(QwHitContainer &grandHitContainer)
Get the hit list.
std::vector< std::vector< QwPMT_Channel > > fPMTs
std::vector< std::pair< Int_t, Int_t > > fReferenceChannels
F1TDCReferenceContainer * fF1RefContainer
void ProcessOptions(QwOptions &options)
Process the command line options.
std::vector< EQwModuleType > fModuleTypes
Int_t LoadInputParameters(TString mapfile)
Mandatory parameter file definition.
Int_t fCurrentModuleIndex
void ReportConfiguration(Bool_t verbose)
void ClearAllBankRegistrations()
QwTriggerScintillator & operator=(const QwTriggerScintillator &value)
std::vector< std::vector< QwDetectorID > > fDetectorIDs
Int_t fCurrentBankIndex
Name of this subsystem (the region).
Int_t GetModuleIndex(size_t bank_index, size_t slot_num) const
Int_t RegisterROCNumber(const UInt_t roc_id)
Software Meantime container.
std::vector< std::vector< Double_t > > fReferenceData
static const UInt_t kMaxNumberOfModulesPerROC
virtual void ConstructHistograms()
Construct the histograms for this subsystem.
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...
Int_t ProcessConfigurationBuffer(const UInt_t roc_id, const UInt_t bank_id, UInt_t *buffer, UInt_t num_words)
std::map< TString, size_t > fSCAs_map
std::vector< Int_t > fSCAs_offset
static void DefineOptions()
Define options function (note: no virtual static functions in C++)
Draft skeleton for the decoding-to-QTR interface class.
void FillRawTDCWord(Int_t bank_index, Int_t slot_num, Int_t chan, UInt_t data)
void SubtractReferenceTimes()
Int_t RegisterSlotNumber(const UInt_t slot_id)
std::vector< QwSIS3801D24_Channel > fSCAs
void AddSoftwareMeantimeToHits(Bool_t option)
void FillHardwareErrorSummary()
Hardware error summary.
std::vector< QwHit > fTDCHits
virtual void ConstructBranchAndVector(TTree *tree, TString &prefix, std::vector< Double_t > &values)=0
Construct the branch and tree vector.
Int_t LinkChannelToSignal(const UInt_t chan, const TString &name)
static const Int_t kMaxNumberOfQwHitPlane
Bool_t IsF1ReferenceChannel(Int_t slot, Int_t chan)
QwTriggerScintillator()
Private default constructor (not implemented, will throw linker error on use)
void ConstructBranchAndVector(TTree *tree, TString &prefix, std::vector< Double_t > &values)
Construct the branch and tree vector.
An options class which parses command line, config file and environment.
Int_t LoadChannelMap(TString mapfile)
Mandatory map file definition.
QwF1TDContainer * fF1TDContainer
std::vector< std::vector< Int_t > > fModuleIndex
UInt_t kMaxNumberOfChannelsPerF1TDC
std::vector< std::vector< std::pair< EQwModuleType, Int_t > > > fModulePtrs
static const Int_t kF1ReferenceChannelNumber
MeanTimeContainer * fSoftwareMeantimeContainer[2]
void FillHistograms()
Fill the histograms for this subsystem.
void Append(const QwHitContainer &mylist)
Double_t fSoftwareMeantimeTimeWindowNs
Bool_t IsSlotRegistered(Int_t bank_index, Int_t slot_num) const
void FillRawWord(Int_t bank_index, Int_t slot_num, Int_t chan, UInt_t data)
Bool_t fSoftwareMeantimeOption