QwAnalysis
|
#include <VQwSubsystemTracking.h>
Public Member Functions | |
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... | |
virtual void | GetHitList (QwHitContainer &grandHitContainer)=0 |
Get the hit list. More... | |
const QwGeometry & | GetDetectorInfo () const |
Get the detector geometry information. More... | |
virtual void | FillHardwareErrorSummary () |
Hardware error summary. More... | |
Tree and branch construction and maintenance | |
These functions are optional for tracking subsystems; some tracking subsystems might not need to write anything to a tree. | |
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... | |
virtual void | ProcessOptions (QwOptions &options) |
Process the command line options. 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 | LoadChannelMap (TString mapfile)=0 |
Mandatory map file definition. More... | |
virtual Int_t | LoadInputParameters (TString mapfile)=0 |
Mandatory parameter file definition. 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 void | ClearEventData ()=0 |
virtual Int_t | ProcessConfigurationBuffer (const UInt_t roc_id, const UInt_t bank_id, UInt_t *buffer, UInt_t num_words)=0 |
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 Int_t | ProcessEvBuffer (const UInt_t roc_id, const UInt_t bank_id, UInt_t *buffer, UInt_t num_words)=0 |
TODO: The non-event-type-aware ProcessEvBuffer routine should be replaced with the event-type-aware version. More... | |
virtual void | ProcessEvent ()=0 |
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 | ConstructHistograms (TDirectory *folder, TString &prefix)=0 |
Construct the histograms for this subsystem in a folder with a prefix. More... | |
virtual void | FillHistograms ()=0 |
Fill the histograms for this subsystem. 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... | |
Protected Attributes | |
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... | |
Private Member Functions | |
VQwSubsystemTracking () | |
Private default constructor (not implemented, will throw linker error on use) More... | |
Additional Inherited Members | |
![]() | |
static void | DefineOptions () |
Define options function (note: no virtual static functions in C++) More... | |
![]() | |
void | UpdatePublishedValue (const TString &name, VQwHardwareChannel *data_channel) |
void | ClearAllBankRegistrations () |
Clear all registration of ROC and Bank IDs for this subsystem. More... | |
virtual Int_t | RegisterROCNumber (const UInt_t roc_id, const UInt_t bank_id=0) |
Tell the object that it will decode data from this ROC and sub-bank. 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... | |
Definition at line 26 of file VQwSubsystemTracking.h.
|
private |
Private default constructor (not implemented, will throw linker error on use)
|
inline |
Constructor with name.
Definition at line 43 of file VQwSubsystemTracking.h.
References fDetectorInfo, and VQwSubsystem::SetEventTypeMask().
|
inlinevirtual |
Default destructor.
Definition at line 51 of file VQwSubsystemTracking.h.
References fDetectorInfo.
|
inlinevirtual |
Construct the branch and tree vector.
Implements VQwSubsystem.
Definition at line 69 of file VQwSubsystemTracking.h.
|
inlinevirtual |
Construct the branch and tree vector based on the trim file.
Implements VQwSubsystem.
Definition at line 71 of file VQwSubsystemTracking.h.
|
inlinevirtual |
Construct the branch and tree vector.
Implements VQwSubsystem.
Reimplemented in QwScanner, QwRaster, QwMainDetector, QwTriggerScintillator, and QwSciFiDetector.
Definition at line 67 of file VQwSubsystemTracking.h.
|
inlinevirtual |
Hardware error summary.
Reimplemented in QwScanner, QwDriftChamber, QwMainDetector, QwSciFiDetector, and QwTriggerScintillator.
Definition at line 90 of file VQwSubsystemTracking.h.
Referenced by QwSubsystemArrayTracking::FillHardwareErrorSummary().
|
inlinevirtual |
Fill the tree vector.
Implements VQwSubsystem.
Reimplemented in QwScanner, QwRaster, QwMainDetector, QwTriggerScintillator, and QwSciFiDetector.
Definition at line 73 of file VQwSubsystemTracking.h.
|
inline |
Get the detector geometry information.
Definition at line 87 of file VQwSubsystemTracking.h.
References fDetectorInfo.
Referenced by QwSubsystemArrayTracking::GetGeometry().
|
pure virtual |
Get the hit list.
Implemented in QwScanner, QwDriftChamber, QwMainDetector, QwSciFiDetector, QwTriggerScintillator, QwDriftChamberVDC, and QwRaster.
Referenced by QwSubsystemArrayTracking::GetHitList().
|
virtual |
Load crosstalk definition for tracking subsystems.
Reimplemented from VQwSubsystem.
Definition at line 96 of file VQwSubsystemTracking.cc.
References QwLog::endl(), fDetectorInfo, VQwSubsystem::fDetectorMaps, QwParameterFile::GetParamFileNameContents(), QwDetectorInfo::LoadCrosstalkDefinition(), QwGeometry::name(), QwMessage, QwWarning, QwParameterFile::ReadNextSection(), QwParameterFile::ReadSectionPreamble(), QwParameterFile::TrimComment(), and QwParameterFile::TrimWhitespace().
|
virtual |
Load geometry definition for tracking subsystems.
Reimplemented from VQwSubsystem.
Definition at line 13 of file VQwSubsystemTracking.cc.
References QwLog::endl(), fDetectorInfo, VQwSubsystem::fDetectorMaps, QwDetectorInfo::GetOctant(), QwDetectorInfo::GetPackage(), QwParameterFile::GetParamFileNameContents(), QwDetectorInfo::GetRegion(), QwOptions::GetValue(), gQwOptions, QwOptions::HasValue(), kPackage1, kRegionID3, kRegionIDTrig, QwDetectorInfo::LoadGeometryDefinition(), QwGeometry::push_back(), QwMessage, QwParameterFile::ReadNextModule(), QwParameterFile::ReadNextSection(), QwParameterFile::ReadSectionPreamble(), QwParameterFile::RewindToFileStart(), QwDetectorInfo::SetOctant(), QwParameterFile::TrimComment(), and QwParameterFile::TrimWhitespace().
|
protected |
Geometry information of this subsystem.
Definition at line 90 of file VQwSubsystemTracking.h.
Referenced by GetDetectorInfo(), LoadCrosstalkDefinition(), LoadGeometryDefinition(), QwDriftChamberHDC::UpdateHits(), QwDriftChamberVDC::UpdateHits(), VQwSubsystemTracking(), and ~VQwSubsystemTracking().
|
protected |
Definition at line 101 of file VQwSubsystemTracking.h.
Referenced by QwTriggerScintillator::ProcessConfigurationBuffer(), QwSciFiDetector::ProcessConfigurationBuffer(), QwMainDetector::ProcessConfigurationBuffer(), QwDriftChamber::ProcessConfigurationBuffer(), QwScanner::ProcessConfigurationBuffer(), QwDriftChamberHDC::SubtractWireTimeOffset(), QwDriftChamberVDC::SubtractWireTimeOffset(), QwDriftChamberHDC::UpdateHits(), QwDriftChamberVDC::UpdateHits(), QwSciFiDetector::UpdateHits(), QwMainDetector::UpdateHits(), QwTriggerScintillator::UpdateHits(), and QwScanner::UpdateHits().
|
protected |
Tree indices.
Definition at line 98 of file VQwSubsystemTracking.h.
Referenced by QwSciFiDetector::ConstructBranchAndVector(), QwTriggerScintillator::ConstructBranchAndVector(), QwMainDetector::ConstructBranchAndVector(), QwRaster::ConstructBranchAndVector(), QwScanner::ConstructBranchAndVector(), QwSciFiDetector::FillTreeVector(), QwTriggerScintillator::FillTreeVector(), QwMainDetector::FillTreeVector(), QwRaster::FillTreeVector(), and QwScanner::FillTreeVector().
|
protected |