QwAnalysis
|
#include <QwDriftChamberVDC.h>
Public Member Functions | |
QwDriftChamberVDC (TString name) | |
virtual | ~QwDriftChamberVDC () |
void | SubtractReferenceTimes () |
void | ProcessEvent () |
Int_t | LoadChannelMap (TString mapfile) |
Mandatory map file definition. More... | |
void | ProcessOptions (QwOptions &options) |
Process the command line options. More... | |
void | ReadEvent (TString &) |
void | ClearEventData () |
Public Member Functions inherited from QwDriftChamber | |
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... | |
void | GetTDCHitList (QwHitContainer &grandHitContainer) |
Public Member Functions inherited from VQwSubsystemTracking | |
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... | |
Public Member Functions inherited from VQwSubsystem | |
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... | |
Public Member Functions inherited from MQwHistograms | |
void | ShareHistograms (const MQwHistograms *source) |
Share histogram pointers between objects. More... | |
Public Member Functions inherited from MQwCloneable< VQwSubsystem, QwDriftChamberVDC > | |
virtual | ~MQwCloneable () |
Virtual destructor. More... | |
virtual VQwSubsystem * | Clone () const |
Concrete clone method. More... | |
const VQwFactory< VQwSubsystem > * | Factory () const |
Factory getter. More... | |
Public Member Functions inherited from VQwCloneable< VQwSubsystem > | |
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 Public Member Functions inherited from QwDriftChamber | |
static void | DefineOptions (QwOptions &options) |
Define options. More... | |
Static Public Member Functions inherited from VQwSubsystem | |
static void | DefineOptions () |
Define options function (note: no virtual static functions in C++) More... | |
Static Public Member Functions inherited from MQwCloneable< VQwSubsystem, QwDriftChamberVDC > | |
static VQwSubsystem * | Create (const std::string &name) |
Object creation. More... | |
static QwDriftChamberVDC * | Cast (QwDriftChamberVDC *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 () |
void | GetHitList (QwHitContainer &grandHitContainer) |
Get the hit list. More... | |
Protected Member Functions inherited from QwDriftChamber | |
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 () |
Protected Member Functions inherited from VQwSubsystem | |
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) |
Protected Member Functions inherited from MQwHistograms | |
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 | |
Bool_t | fUseTDCHits |
Bool_t | fDisableWireTimeOffset |
Int_t | fR3Octant |
std::vector< std::vector < QwDelayLine > > | fDelayLineArray |
std::vector< std::vector < QwDelayLineID > > | fDelayLinePtrs |
std::vector< QwHit > | fWireHitsVDC |
std::vector< std::vector < std::vector< Double_t > > > | fTimeWireOffsets |
std::vector< Double_t > | fTtoDNumbers |
Protected Attributes inherited from QwDriftChamber | |
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 |
Protected Attributes inherited from VQwSubsystemTracking | |
QwGeometry | fDetectorInfo |
Geometry information of this subsystem. More... | |
size_t | fTreeArrayIndex |
Tree indices. More... | |
size_t | fTreeArrayNumEntries |
Double_t | fF1TDCResolutionNS |
Protected Attributes inherited from VQwSubsystem | |
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... | |
Protected Attributes inherited from MQwHistograms | |
std::vector< TH1_ptr > | fHistograms |
Histograms associated with this data element. More... | |
Static Protected Attributes | |
static const UInt_t | kBackPlaneNum =16 |
static const UInt_t | kLineNum =8 |
Static Protected Attributes inherited from QwDriftChamber | |
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 22 of file QwDriftChamberVDC.h.
QwDriftChamberVDC::QwDriftChamberVDC | ( | TString | name | ) |
Definition at line 27 of file QwDriftChamberVDC.cc.
References fDelayLineArray, fDelayLinePtrs, kBackPlaneNum, and kLineNum.
|
inlinevirtual |
Definition at line 30 of file QwDriftChamberVDC.h.
|
protectedvirtual |
Implements QwDriftChamber.
Definition at line 443 of file QwDriftChamberVDC.cc.
References QwDriftChamber::fTDC_Index, QwDriftChamber::fTDCPtrs, QwDriftChamber::fWireData, QwDriftChamber::fWiresPerPlane, QwDriftChamber::kCodaMasterPlaneNumber, QwDriftChamber::kReferenceChannelPlaneNumber, and OK.
Referenced by LoadChannelMap().
|
protectedvirtual |
Implements QwDriftChamber.
Definition at line 397 of file QwDriftChamberVDC.cc.
References QwDriftChamber::fCurrentTDCIndex, QwDriftChamber::fTDCPtrs, QwDriftChamber::fWiresPerPlane, and OK.
Referenced by LoadChannelMap().
|
protectedvirtual |
Implements QwDriftChamber.
Definition at line 276 of file QwDriftChamberVDC.cc.
References fTtoDNumbers.
|
virtual |
Implements QwDriftChamber.
Definition at line 866 of file QwDriftChamberVDC.cc.
References F1TDCReferenceContainer::ClearEventData(), fDelayLineArray, QwDriftChamber::fF1RefContainer, QwDriftChamber::fReferenceData, QwDriftChamber::fReferenceMaster, QwDriftChamber::fTDCHits, QwDriftChamber::fWireHits, and VQwSubsystem::SetDataLoaded().
|
protectedvirtual |
Construct the histograms for this subsystem in a folder with a prefix.
Implements QwDriftChamber.
Definition at line 926 of file QwDriftChamberVDC.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 905 of file QwDriftChamberVDC.cc.
References QwOptions::AddOptions(), and default_bool_value.
|
protectedvirtual |
Fill the histograms for this subsystem.
Implements QwDriftChamber.
Definition at line 1040 of file QwDriftChamberVDC.cc.
References QwDetectorInfo::ClearHits(), QwLog::endl(), QwDetectorID::fElement, QwDetectorID::fPlane, QwDriftChamber::fTDCHits, QwDriftChamber::fWireData, QwDriftChamber::fWireHits, 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 301 of file QwDriftChamberVDC.cc.
References fDelayLinePtrs, QwDriftChamber::fF1RefContainer, QwDriftChamber::fReferenceData, QwDriftChamber::fReferenceMaster, QwDriftChamber::fTDCHits, QwDriftChamber::fTDCPtrs, QwDriftChamber::GetTDCIndex(), QwDriftChamber::kCodaMasterPlaneNumber, kDirectionNull, QwDriftChamber::kReferenceChannelPlaneNumber, kRegionID3, F1TDCReferenceContainer::SetReferenceSignal(), and QwHit::WireMatches().
|
inlineprotectedvirtual |
Get the hit list.
Reimplemented from QwDriftChamber.
Definition at line 76 of file QwDriftChamberVDC.h.
References QwHitContainer::Append(), QwDriftChamber::fTDCHits, fUseTDCHits, and QwDriftChamber::fWireHits.
|
virtual |
Mandatory map file definition.
Implements VQwSubsystem.
Definition at line 641 of file QwDriftChamberVDC.cc.
References AddChannelDefinition(), BuildWireDataStructure(), QwDriftChamber::fCurrentBankIndex, QwDriftChamber::fCurrentSlot, fDelayLineArray, fDelayLinePtrs, VQwSubsystem::fDetectorMaps, QwDriftChamber::fF1RefContainer, fR3Octant, QwParameterFile::GetUInt(), QwOptions::GetValue(), gQwOptions, QwDriftChamber::kCodaMasterPlaneNumber, kDirectionNull, kDirectionU, kDirectionV, QwDriftChamber::kReferenceChannelPlaneNumber, QwDriftChamber::LinkReferenceChannel(), LoadTimeWireOffset(), LoadTtoDParameters(), OK, QwDriftChamber::RegisterROCNumber(), QwDriftChamber::RegisterSlotNumber(), and QwDriftChamber::RegisterSubbank().
|
protectedvirtual |
Implements QwDriftChamber.
Definition at line 1162 of file QwDriftChamberVDC.cc.
References VQwSubsystem::fDetectorMaps, fTimeWireOffsets, and OK.
Referenced by LoadChannelMap().
|
protected |
Definition at line 1395 of file QwDriftChamberVDC.cc.
References VQwSubsystem::fDetectorMaps, and fTtoDNumbers.
Referenced by LoadChannelMap().
|
virtual |
Implements QwDriftChamber.
Definition at line 841 of file QwDriftChamberVDC.cc.
References fDisableWireTimeOffset, QwDriftChamber::FillDriftDistanceToHits(), QwDriftChamber::fWireHits, VQwSubsystem::HasDataLoaded(), invalid(), SubtractReferenceTimes(), SubtractWireTimeOffset(), and UpdateHits().
|
virtual |
Process the command line options.
Reimplemented from VQwSubsystem.
Definition at line 918 of file QwDriftChamberVDC.cc.
References fDisableWireTimeOffset, fR3Octant, fUseTDCHits, and QwOptions::GetValue().
void QwDriftChamberVDC::ReadEvent | ( | TString & | eventfile | ) |
Definition at line 801 of file QwDriftChamberVDC.cc.
References VQwSubsystem::fDetectorMaps, QwDriftChamber::fTDCHits, kDirectionNull, and kRegionID3.
|
virtual |
Implements QwDriftChamber.
Definition at line 37 of file QwDriftChamberVDC.cc.
References QwDriftChamber::fF1RefContainer, QwDriftChamber::fF1TDContainer, QwDriftChamber::fTDCHits, F1TDCReferenceContainer::GetReferenceTimeAU(), VQwSubsystem::GetSubsystemName(), kPackage1, kPackage2, QwMessage, and QwF1TDContainer::ReferenceSignalCorrection().
Referenced by ProcessEvent().
|
protectedvirtual |
Implements QwDriftChamber.
Definition at line 1219 of file QwDriftChamberVDC.cc.
References VQwSubsystemTracking::fF1TDCResolutionNS, fTimeWireOffsets, and QwDriftChamber::fWireHits.
Referenced by ProcessEvent().
|
protected |
Definition at line 1249 of file QwDriftChamberVDC.cc.
References QwHit::ApplyTimeCalibration(), QwElectronicsID::fChannel, fDelayLineArray, fDelayLinePtrs, VQwSubsystemTracking::fDetectorInfo, VQwSubsystemTracking::fF1TDCResolutionNS, QwElectronicsID::fModule, QwDriftChamber::fTDCHits, QwDriftChamber::fWireData, QwDriftChamber::fWireHits, QwGeometry::in(), kRegionID3, QwHit::SetAmbiguityID(), VQwTrackingElement::SetDetectorInfo(), QwHit::SetHitNumberR(), and QwHit::SetTime().
Referenced by ProcessEvent().
|
protected |
Definition at line 89 of file QwDriftChamberVDC.h.
Referenced by ClearEventData(), LoadChannelMap(), QwDriftChamberVDC(), and UpdateHits().
|
protected |
Definition at line 90 of file QwDriftChamberVDC.h.
Referenced by FillRawTDCWord(), LoadChannelMap(), QwDriftChamberVDC(), and UpdateHits().
|
protected |
Definition at line 85 of file QwDriftChamberVDC.h.
Referenced by ProcessEvent(), and ProcessOptions().
|
protected |
Definition at line 86 of file QwDriftChamberVDC.h.
Referenced by LoadChannelMap(), and ProcessOptions().
|
protected |
Definition at line 92 of file QwDriftChamberVDC.h.
Referenced by LoadTimeWireOffset(), and SubtractWireTimeOffset().
|
protected |
Definition at line 93 of file QwDriftChamberVDC.h.
Referenced by CalculateDriftDistance(), and LoadTtoDParameters().
|
protected |
Definition at line 80 of file QwDriftChamberVDC.h.
Referenced by GetHitList(), and ProcessOptions().
|
protected |
Definition at line 91 of file QwDriftChamberVDC.h.
|
staticprotected |
Definition at line 87 of file QwDriftChamberVDC.h.
Referenced by QwDriftChamberVDC().
|
staticprotected |
Definition at line 88 of file QwDriftChamberVDC.h.
Referenced by QwDriftChamberVDC().