QwAnalysis
|
#include <QwDriftChamberHDC.h>
Public Member Functions | |
QwDriftChamberHDC (TString name) | |
virtual | ~QwDriftChamberHDC () |
void | SubtractReferenceTimes () |
void | ProcessEvent () |
Int_t | LoadChannelMap (TString mapfile) |
Mandatory map file definition. More... | |
void | ClearEventData () |
void | ProcessOptions (QwOptions &options) |
Process the command line options. More... | |
![]() | |
QwDriftChamber (const TString ®ion_tmp) | |
Constructor with name. More... | |
QwDriftChamber (const TString ®ion_tmp, std::vector< QwHit > &fWireHits_TEMP) | |
Constructor with name and hit list. More... | |
virtual | ~QwDriftChamber () |
Virtual destructor. More... | |
virtual Int_t | LoadInputParameters (TString mapfile) |
Mandatory parameter file definition. More... | |
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 version. More... | |
Int_t | ProcessConfigurationBuffer (const UInt_t roc_id, const UInt_t bank_id, UInt_t *buffer, UInt_t num_words) |
void | PrintConfigurationBuffer (UInt_t *buffer, UInt_t num_words) |
void | ReportConfiguration () |
void | FillDriftDistanceToHits () |
void | FillHardwareErrorSummary () |
Hardware error summary. More... | |
virtual void | GetHitList (QwHitContainer &grandHitContainer) |
Get the hit list. More... | |
void | GetTDCHitList (QwHitContainer &grandHitContainer) |
![]() | |
VQwSubsystemTracking (TString name) | |
Constructor with name. More... | |
virtual | ~VQwSubsystemTracking () |
Default destructor. More... | |
Int_t | LoadGeometryDefinition (TString mapfile) |
Load geometry definition for tracking subsystems. More... | |
Int_t | LoadCrosstalkDefinition (TString mapfile) |
Load crosstalk definition for tracking subsystems. More... | |
const QwGeometry & | GetDetectorInfo () const |
Get the detector geometry information. More... | |
virtual void | ConstructBranchAndVector (TTree *tree, TString &prefix, std::vector< Double_t > &values) |
Construct the branch and tree vector. More... | |
virtual void | ConstructBranch (TTree *tree, TString &prefix) |
Construct the branch and tree vector. More... | |
virtual void | ConstructBranch (TTree *tree, TString &prefix, QwParameterFile &trim_file) |
Construct the branch and tree vector based on the trim file. More... | |
virtual void | FillTreeVector (std::vector< Double_t > &values) const |
Fill the tree vector. More... | |
![]() | |
VQwSubsystem (const TString &name) | |
Constructor with name. More... | |
VQwSubsystem (const VQwSubsystem &orig) | |
Copy constructor by object. More... | |
virtual | ~VQwSubsystem () |
Default destructor. More... | |
TString | GetSubsystemName () const |
Bool_t | HasDataLoaded () const |
void | SetParent (QwSubsystemArray *parent) |
Set the parent of this subsystem to the specified array. More... | |
QwSubsystemArray * | GetParent (const unsigned int parent=0) const |
Get the parent of this subsystem. More... | |
VQwSubsystem * | GetSibling (const std::string &name) const |
Get the sibling with specified name. More... | |
Bool_t | PublishInternalValue (const TString &name, const TString &desc, const VQwHardwareChannel *value) const |
Publish a variable name to the parent subsystem array. More... | |
virtual Bool_t | PublishInternalValues () const |
Publish all variables of the subsystem. More... | |
virtual Bool_t | PublishByRequest (TString device_name) |
Try to publish an internal variable matching the submitted name. More... | |
Bool_t | RequestExternalValue (const TString &name, VQwHardwareChannel *value) const |
Request a named value which is owned by an external subsystem; the request will be handled by the parent subsystem array. More... | |
virtual const VQwHardwareChannel * | ReturnInternalValue (const TString &name) const |
Return a pointer to a varialbe to the parent subsystem array to be delivered to a different subsystem. More... | |
virtual Bool_t | ReturnInternalValue (const TString &name, VQwHardwareChannel *value) const |
Return a named value to the parent subsystem array to be delivered to a different subsystem. More... | |
virtual std::vector< TString > | GetParamFileNameList () |
virtual std::map< TString, TString > | GetDetectorMaps () |
virtual Int_t | LoadDetectorMaps (QwParameterFile &file) |
Parse parameter file to find the map files. More... | |
virtual Int_t | LoadEventCuts (TString mapfile) |
Optional event cut file. More... | |
void | SetEventTypeMask (const UInt_t mask) |
Set event type mask. More... | |
UInt_t | GetEventTypeMask () const |
Get event type mask. More... | |
virtual Int_t | ProcessEvBuffer (const UInt_t event_type, const UInt_t roc_id, const UInt_t bank_id, UInt_t *buffer, UInt_t num_words) |
virtual void | ExchangeProcessedData () |
Request processed data from other subsystems for internal use in the second event processing stage. Not all derived classes will require data from other subsystems. More... | |
virtual void | ProcessEvent_2 () |
Process the event data again, including data from other subsystems. Not all derived classes will require a second stage of event data processing. More... | |
virtual void | AtEndOfEventLoop () |
Perform actions at the end of the event loop. More... | |
virtual void | RandomizeEventData (int helicity=0, double time=0.0) |
virtual void | EncodeEventData (std::vector< UInt_t > &buffer) |
virtual void | PrintInfo () const |
Print some information about the subsystem. More... | |
virtual VQwSubsystem & | operator= (VQwSubsystem *value) |
Assignment Note: Must be called at the beginning of all subsystems routine call to operator=(VQwSubsystem *value) by VQwSubsystem::operator=(value) More... | |
virtual void | PrintDetectorMaps (Bool_t status) const |
virtual void | ConstructHistograms () |
Construct the histograms for this subsystem. More... | |
virtual void | ConstructHistograms (TDirectory *folder) |
Construct the histograms for this subsystem in a folder. More... | |
virtual void | ConstructHistograms (TString &prefix) |
Construct the histograms for this subsystem with a prefix. More... | |
virtual void | ConstructBranchAndVector (TTree *tree, std::vector< Double_t > &values) |
Construct the branch and tree vector. More... | |
virtual void | ConstructTree () |
Construct the tree for this subsystem. More... | |
virtual void | ConstructTree (TDirectory *folder) |
Construct the tree for this subsystem in a folder. More... | |
virtual void | ConstructTree (TString &prefix) |
Construct the tree for this subsystem with a prefix. More... | |
virtual void | ConstructTree (TDirectory *folder, TString &prefix) |
Construct the tree for this subsystem in a folder with a prefix. More... | |
virtual void | FillTree () |
Fill the tree for this subsystem. More... | |
virtual void | DeleteTree () |
Delete the tree for this subsystem. More... | |
![]() | |
void | ShareHistograms (const MQwHistograms *source) |
Share histogram pointers between objects. More... | |
![]() | |
virtual | ~MQwCloneable () |
Virtual destructor. More... | |
virtual VQwSubsystem * | Clone () const |
Concrete clone method. More... | |
const VQwFactory< VQwSubsystem > * | Factory () const |
Factory getter. More... | |
![]() | |
virtual | ~VQwCloneable () |
Virtual destructor. More... | |
std::string | GetClassName () const |
Get demangled name of this class. More... | |
Static Public Member Functions | |
static void | DefineOptions (QwOptions &options) |
![]() | |
static void | DefineOptions (QwOptions &options) |
Define options. More... | |
![]() | |
static void | DefineOptions () |
Define options function (note: no virtual static functions in C++) More... | |
![]() | |
static VQwSubsystem * | Create (const std::string &name) |
Object creation. More... | |
static QwDriftChamberHDC * | Cast (QwDriftChamberHDC *type) |
Object dynamic cast. More... | |
Protected Member Functions | |
void | FillRawTDCWord (Int_t bank_index, Int_t slot_num, Int_t chan, UInt_t data) |
Int_t | AddChannelDefinition () |
Int_t | BuildWireDataStructure (const UInt_t chan, const EQwDetectorPackage package, const Int_t octant, const Int_t plane, const Int_t wire) |
Double_t | CalculateDriftDistance (Double_t drifttime, QwDetectorID detector) |
void | ConstructHistograms (TDirectory *folder, TString &prefix) |
Construct the histograms for this subsystem in a folder with a prefix. More... | |
void | FillHistograms () |
Fill the histograms for this subsystem. More... | |
Int_t | LoadTimeWireOffset (TString t0_map) |
void | LoadTtoDParameters (TString ttod_map) |
void | SubtractWireTimeOffset () |
void | UpdateHits () |
![]() | |
Int_t | LinkReferenceChannel (const UInt_t chan, const Int_t plane, const Int_t wire) |
void | ClearAllBankRegistrations () |
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. More... | |
Int_t | RegisterSubbank (const UInt_t bank_id) |
Int_t | RegisterSlotNumber (const UInt_t slot_id) |
Int_t | GetTDCIndex (size_t bank_index, size_t slot_num) const |
Bool_t | IsSlotRegistered (Int_t bank_index, Int_t slot_num) const |
void | InitHistogramPointers () |
![]() | |
void | UpdatePublishedValue (const TString &name, VQwHardwareChannel *data_channel) |
void | ClearAllBankRegistrations () |
Clear all registration of ROC and Bank IDs for this subsystem. More... | |
Int_t | RegisterSubbank (const UInt_t bank_id) |
Tell the object that it will decode data from this sub-bank in the ROC currently open for registration. More... | |
Int_t | GetSubbankIndex () const |
Int_t | GetSubbankIndex (const UInt_t roc_id, const UInt_t bank_id) const |
void | SetDataLoaded (Bool_t flag) |
Int_t | FindIndex (const std::vector< UInt_t > &myvec, const UInt_t value) const |
Bool_t | Compare (VQwSubsystem *source) |
![]() | |
MQwHistograms () | |
Default constructor. More... | |
MQwHistograms (const MQwHistograms &source) | |
Copy constructor. More... | |
virtual | ~MQwHistograms () |
Virtual destructor. More... | |
virtual MQwHistograms & | operator= (const MQwHistograms &value) |
void | Fill_Pointer (TH1_ptr hist_ptr, Double_t value) |
void | AddHistogram (TH1 *h) |
Register a histogram. More... | |
Protected Attributes | |
Double_t | trig_h1 |
std::vector< std::vector < std::vector< Double_t > > > | fTimeWireOffsets |
std::vector< Double_t > | fTtoDNumbers |
Int_t | fR2Octant |
![]() | |
TString | fRegion |
size_t | fCurrentBankIndex |
Name of this subsystem (the region). More... | |
Int_t | fCurrentSlot |
Int_t | fCurrentTDCIndex |
UInt_t | kMaxNumberOfChannelsPerTDC |
Int_t | fNumberOfTDCs |
std::vector< std::vector< Int_t > > | fTDC_Index |
std::vector< std::pair< Int_t, Int_t > > | fReferenceChannels |
std::vector< std::vector < Double_t > > | fReferenceData |
std::vector< std::vector < Double_t > > | fReferenceMaster |
std::vector< QwHit > | fTDCHits |
std::vector< QwHit > & | fWireHits |
std::vector< Int_t > | fWiresPerPlane |
MQwF1TDC | fF1TDCDecoder |
QwF1TDContainer * | fF1TDContainer |
F1TDCReferenceContainer * | fF1RefContainer |
std::vector< TH1F * > | TotHits |
std::vector< TH1F * > | TOFP |
std::vector< TH1F * > | TOFP_raw |
std::vector< TH1F * > | WiresHit |
std::vector< TH2F * > | TOFW |
std::vector< TH2F * > | TOFW_raw |
std::vector< TH2F * > | HitsWire |
std::vector< std::vector < QwDetectorID > > | fTDCPtrs |
std::vector< std::vector < QwDetectorInfo > > | fWireData |
std::vector< std::vector < UInt_t > > | fDirectionData |
![]() | |
QwGeometry | fDetectorInfo |
Geometry information of this subsystem. More... | |
size_t | fTreeArrayIndex |
Tree indices. More... | |
size_t | fTreeArrayNumEntries |
Double_t | fF1TDCResolutionNS |
![]() | |
std::map< TString, VQwHardwareChannel * > | fPublishedInternalValues |
Map of published internal values. More... | |
std::vector< std::vector < TString > > | fPublishList |
List of parameters to be published (loaded at the channel map) More... | |
TString | fSystemName |
Name of this subsystem. More... | |
UInt_t | fEventTypeMask |
Mask of event types. More... | |
Bool_t | fIsDataLoaded |
Has this subsystem gotten data to be processed? More... | |
std::vector< TString > | fDetectorMapsNames |
std::map< TString, TString > | fDetectorMaps |
Int_t | fCurrentROC_ID |
ROC ID that is currently being processed. More... | |
Int_t | fCurrentBank_ID |
Bank ID that is currently being processed. More... | |
std::vector< UInt_t > | fROC_IDs |
Vector of ROC IDs associated with this subsystem. More... | |
std::vector< std::vector < UInt_t > > | fBank_IDs |
Vector of Bank IDs per ROC ID associated with this subsystem. More... | |
std::vector< QwSubsystemArray * > | fArrays |
Vector of pointers to subsystem arrays that contain this subsystem. More... | |
![]() | |
std::vector< TH1_ptr > | fHistograms |
Histograms associated with this data element. More... | |
Additional Inherited Members | |
![]() | |
static bool | fPrintF1TDCConfiguration = true |
static const UInt_t | kMaxNumberOfSlotsPerROC = 21 |
static const Int_t | kReferenceChannelPlaneNumber = 99 |
static const Int_t | kCodaMasterPlaneNumber = 98 |
Definition at line 19 of file QwDriftChamberHDC.h.
|
inline |
Definition at line 26 of file QwDriftChamberHDC.h.
|
inlinevirtual |
Definition at line 27 of file QwDriftChamberHDC.h.
|
protectedvirtual |
Implements QwDriftChamber.
Definition at line 403 of file QwDriftChamberHDC.cc.
References QwDriftChamber::fTDC_Index, QwDriftChamber::fTDCPtrs, QwDriftChamber::fWireData, QwDriftChamber::fWiresPerPlane, QwDriftChamber::kReferenceChannelPlaneNumber, and OK.
Referenced by LoadChannelMap().
|
protectedvirtual |
Implements QwDriftChamber.
Definition at line 367 of file QwDriftChamberHDC.cc.
References QwDriftChamber::fCurrentTDCIndex, QwDriftChamber::fTDCPtrs, QwDriftChamber::fWiresPerPlane, QwDriftChamber::kReferenceChannelPlaneNumber, QwDriftChamber::LinkReferenceChannel(), and OK.
Referenced by LoadChannelMap().
|
protectedvirtual |
Implements QwDriftChamber.
Definition at line 209 of file QwDriftChamberHDC.cc.
References fTtoDNumbers.
|
virtual |
Implements QwDriftChamber.
Definition at line 804 of file QwDriftChamberHDC.cc.
References F1TDCReferenceContainer::ClearEventData(), QwDetectorID::fElement, QwDriftChamber::fF1RefContainer, QwDetectorID::fPlane, QwDriftChamber::fReferenceData, QwDriftChamber::fTDCHits, QwDriftChamber::fWireData, and VQwSubsystem::SetDataLoaded().
|
protectedvirtual |
Construct the histograms for this subsystem in a folder with a prefix.
Implements QwDriftChamber.
Definition at line 622 of file QwDriftChamberHDC.cc.
References QwDriftChamber::fWiresPerPlane, VQwSubsystem::GetSubsystemName(), QwDriftChamber::HitsWire, QwDriftChamber::TOFP, QwDriftChamber::TOFP_raw, QwDriftChamber::TOFW, QwDriftChamber::TOFW_raw, QwDriftChamber::TotHits, and QwDriftChamber::WiresHit.
|
static |
Definition at line 610 of file QwDriftChamberHDC.cc.
References QwOptions::AddOptions().
|
protectedvirtual |
Fill the histograms for this subsystem.
Implements QwDriftChamber.
Definition at line 736 of file QwDriftChamberHDC.cc.
References QwLog::endl(), QwDetectorID::fElement, QwDetectorID::fPlane, QwDriftChamber::fTDCHits, QwDriftChamber::fWireData, QwDriftChamber::fWiresPerPlane, QwDetectorInfo::GetNumHits(), VQwSubsystem::HasDataLoaded(), QwDriftChamber::HitsWire, QwMessage, QwDriftChamber::TOFP, QwDriftChamber::TOFP_raw, QwDriftChamber::TOFW, QwDriftChamber::TOFW_raw, QwDriftChamber::TotHits, and QwDriftChamber::WiresHit.
|
protectedvirtual |
Implements QwDriftChamber.
Definition at line 291 of file QwDriftChamberHDC.cc.
References QwDriftChamber::fDirectionData, QwDriftChamber::fF1RefContainer, QwDriftChamber::fReferenceData, QwDriftChamber::fTDCHits, QwDriftChamber::fTDCPtrs, QwDriftChamber::GetTDCIndex(), kDirectionNull, QwDriftChamber::kReferenceChannelPlaneNumber, kRegionID2, F1TDCReferenceContainer::SetReferenceSignal(), and QwHit::WireMatches().
|
virtual |
Mandatory map file definition.
Implements VQwSubsystem.
Definition at line 466 of file QwDriftChamberHDC.cc.
References AddChannelDefinition(), BuildWireDataStructure(), QwDriftChamber::fCurrentBankIndex, QwDriftChamber::fCurrentSlot, VQwSubsystem::fDetectorMaps, QwDriftChamber::fDirectionData, QwDriftChamber::fF1RefContainer, fR2Octant, QwParameterFile::GetUInt(), QwOptions::GetValue(), gQwOptions, kDirectionNull, kPackage1, kPackage2, QwDriftChamber::kReferenceChannelPlaneNumber, LoadTimeWireOffset(), LoadTtoDParameters(), OK, QwDriftChamber::RegisterROCNumber(), QwDriftChamber::RegisterSlotNumber(), and QwDriftChamber::RegisterSubbank().
|
protectedvirtual |
Implements QwDriftChamber.
Definition at line 902 of file QwDriftChamberHDC.cc.
References VQwSubsystem::fDetectorMaps, fTimeWireOffsets, and OK.
Referenced by LoadChannelMap().
|
protected |
Definition at line 882 of file QwDriftChamberHDC.cc.
References VQwSubsystem::fDetectorMaps, and fTtoDNumbers.
Referenced by LoadChannelMap().
|
virtual |
Implements QwDriftChamber.
Definition at line 452 of file QwDriftChamberHDC.cc.
References QwDriftChamber::FillDriftDistanceToHits(), VQwSubsystem::HasDataLoaded(), SubtractReferenceTimes(), SubtractWireTimeOffset(), and UpdateHits().
|
virtual |
Process the command line options.
Reimplemented from VQwSubsystem.
Definition at line 617 of file QwDriftChamberHDC.cc.
References fR2Octant, and QwOptions::GetValue().
|
virtual |
Implements QwDriftChamber.
Definition at line 17 of file QwDriftChamberHDC.cc.
References QwDriftChamber::fF1RefContainer, QwDriftChamber::fF1TDContainer, QwDriftChamber::fTDCHits, F1TDCReferenceContainer::GetReferenceTimeAU(), VQwSubsystem::GetSubsystemName(), QwMessage, and QwF1TDContainer::ReferenceSignalCorrection().
Referenced by ProcessEvent().
|
protectedvirtual |
Implements QwDriftChamber.
Definition at line 854 of file QwDriftChamberHDC.cc.
References VQwSubsystemTracking::fF1TDCResolutionNS, QwDriftChamber::fTDCHits, and fTimeWireOffsets.
Referenced by ProcessEvent().
|
protected |
Definition at line 826 of file QwDriftChamberHDC.cc.
References VQwSubsystemTracking::fDetectorInfo, VQwSubsystemTracking::fF1TDCResolutionNS, QwDriftChamber::fTDCHits, and QwGeometry::in().
Referenced by ProcessEvent().
|
protected |
Definition at line 65 of file QwDriftChamberHDC.h.
Referenced by LoadChannelMap(), and ProcessOptions().
|
protected |
Definition at line 62 of file QwDriftChamberHDC.h.
Referenced by LoadTimeWireOffset(), and SubtractWireTimeOffset().
|
protected |
Definition at line 63 of file QwDriftChamberHDC.h.
Referenced by CalculateDriftDistance(), and LoadTtoDParameters().
|
protected |
Definition at line 61 of file QwDriftChamberHDC.h.