10 #ifndef __QWDRIFTCHAMBER__
11 #define __QWDRIFTCHAMBER__
49 QwDriftChamber(
const TString& region_tmp,std::vector< QwHit > &fWireHits_TEMP);
55 options.
AddOptions(
"Tracking options")(
"QwDriftChamber.print-f1tdc-configuration",
57 "print F1TDC configuration");
65 Int_t
ProcessEvBuffer(
const UInt_t roc_id,
const UInt_t bank_id, UInt_t* buffer, UInt_t num_words);
104 virtual void FillRawTDCWord(Int_t bank_index, Int_t slot_num, Int_t chan, UInt_t data) = 0;
123 Int_t
GetTDCIndex(
size_t bank_index,
size_t slot_num)
const;
200 std::vector< std::vector< QwDetectorID > >
fTDCPtrs;
std::vector< TH1F * > TOFP
std::vector< std::vector< Int_t > > fTDC_Index
virtual void SubtractReferenceTimes()=0
std::vector< TH1F * > WiresHit
virtual void GetHitList(QwHitContainer &grandHitContainer)
Get the hit list.
std::vector< std::vector< Double_t > > fReferenceMaster
size_t fCurrentBankIndex
Name of this subsystem (the region).
F1TDCs configuration and reference siganls container.
void GetTDCHitList(QwHitContainer &grandHitContainer)
#define default_bool_value(b)
void PrintConfigurationBuffer(UInt_t *buffer, UInt_t num_words)
std::vector< TH2F * > HitsWire
void InitHistogramPointers()
std::vector< TH2F * > TOFW_raw
void ClearAllBankRegistrations()
static const UInt_t kMaxNumberOfSlotsPerROC
std::vector< std::vector< UInt_t > > fDirectionData
static const Int_t kCodaMasterPlaneNumber
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...
std::vector< TH2F * > TOFW
virtual void ProcessEvent()=0
Int_t ProcessConfigurationBuffer(const UInt_t roc_id, const UInt_t bank_id, UInt_t *buffer, UInt_t num_words)
virtual void ConstructHistograms()
Construct the histograms for this subsystem.
std::vector< TH1F * > TOFP_raw
po::options_description_easy_init AddOptions(const std::string &blockname="Specialized options")
Add an option to a named block or create new block.
virtual Int_t LoadTimeWireOffset(TString t0_map)=0
static bool fPrintF1TDCConfiguration
static void DefineOptions(QwOptions &options)
Define options.
Draft skeleton for the decoding-to-QTR interface class.
Int_t LinkReferenceChannel(const UInt_t chan, const Int_t plane, const Int_t wire)
std::vector< std::vector< QwDetectorID > > fTDCPtrs
std::vector< std::pair< Int_t, Int_t > > fReferenceChannels
virtual void SubtractWireTimeOffset()=0
QwDriftChamber()
Private default constructor (not implemented, will throw linker error on use)
UInt_t kMaxNumberOfChannelsPerTDC
QwF1TDContainer * fF1TDContainer
std::vector< TH1F * > TotHits
virtual Double_t CalculateDriftDistance(Double_t drifttime, QwDetectorID detector)=0
std::vector< std::vector< Double_t > > fReferenceData
Int_t RegisterSubbank(const UInt_t bank_id)
void ReportConfiguration()
Int_t GetTDCIndex(size_t bank_index, size_t slot_num) const
Int_t RegisterSlotNumber(const UInt_t slot_id)
static const Int_t kReferenceChannelPlaneNumber
virtual ~QwDriftChamber()
Virtual destructor.
virtual Int_t LoadInputParameters(TString mapfile)
Mandatory parameter file definition.
Bool_t IsSlotRegistered(Int_t bank_index, Int_t slot_num) const
virtual Int_t BuildWireDataStructure(const UInt_t chan, const EQwDetectorPackage package, const Int_t octant, const Int_t plane, const Int_t wire)=0
virtual void FillHistograms()=0
Fill the histograms for this subsystem.
virtual Int_t AddChannelDefinition()=0
std::vector< QwHit > & fWireHits
std::vector< QwHit > fTDCHits
void Append(const QwHitContainer &mylist)
virtual void ClearEventData()=0
void FillDriftDistanceToHits()
virtual void FillRawTDCWord(Int_t bank_index, Int_t slot_num, Int_t chan, UInt_t data)=0
void FillHardwareErrorSummary()
Hardware error summary.
std::vector< Int_t > fWiresPerPlane
Int_t RegisterROCNumber(const UInt_t roc_id, const UInt_t bank_id)
Tell the object that it will decode data from this ROC and sub-bank.
F1TDCReferenceContainer * fF1RefContainer
std::vector< std::vector< QwDetectorInfo > > fWireData