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