ATLAS Offline Software
|
Base class for all CompetingRIOsOnTack implementations, extends the common MeasurementBase. More...
#include <CompetingRIOsOnTrack.h>
Public Types | |
typedef double | AssignmentProb |
Type def of Assignment probability: probability for a certain RIO_OnTrack to be assigned to the track. More... | |
Public Member Functions | |
CompetingRIOsOnTrack () | |
Default Constructor for POOL. More... | |
CompetingRIOsOnTrack (std::vector< AssignmentProb > &&assgnProb) | |
Constructor with parameters. More... | |
CompetingRIOsOnTrack (const CompetingRIOsOnTrack &compROT)=default | |
Copy Constructor. More... | |
CompetingRIOsOnTrack (CompetingRIOsOnTrack &&compROT) noexcept=default | |
CompetingRIOsOnTrack & | operator= (const CompetingRIOsOnTrack &compROT)=default |
Assignment operator. More... | |
CompetingRIOsOnTrack & | operator= (CompetingRIOsOnTrack &&compROT) noexcept=default |
virtual | ~CompetingRIOsOnTrack ()=default |
Destructor. More... | |
virtual CompetingRIOsOnTrack * | clone () const override=0 |
Pseudo-constructor: needed to avoid excessive RTTI. More... | |
std::unique_ptr< CompetingRIOsOnTrack > | uniqueClone () const |
NVI Clone. More... | |
virtual unsigned int | numberOfContainedROTs () const =0 |
Number of RIO_OnTracks to be contained by this CompetingRIOsOnTrack. More... | |
unsigned int | indexOfMaxAssignProb () const |
Index of the ROT with the highest assignment probability. More... | |
virtual const RIO_OnTrack & | rioOnTrack (unsigned int) const =0 |
returns the RIO_OnTrack (also known as ROT) objects depending on the integer. More... | |
AssignmentProb | assignmentProbability (unsigned int indx) const |
returns the AssignmentProbability depending on the integer. More... | |
virtual void | setLocalParametersAndErrorMatrix () |
recalculate the LocalParameters and ErrorMatrix More... | |
virtual bool | type (MeasurementBaseType::Type type) const override final |
Extended method checking the type. More... | |
const LocalParameters & | localParameters () const |
Interface method to get the LocalParameters. More... | |
const Amg::MatrixX & | localCovariance () const |
Interface method to get the localError. More... | |
virtual const Surface & | associatedSurface () const =0 |
Interface method to get the associated Surface. More... | |
virtual const Amg::Vector3D & | globalPosition () const =0 |
Interface method to get the global Position. More... | |
Protected Member Functions | |
virtual bool | ROTsHaveCommonSurface (const bool withNonVanishingAssignProb=true) const =0 |
query if all the contained ROTs have a common associated surface. More... | |
virtual MsgStream & | dump (MsgStream &out) const override |
returns the some information about the base class members (avoid code duplication) More... | |
virtual std::ostream & | dump (std::ostream &out) const override |
returns the some information about the base class members (avoid code duplication) More... | |
Protected Attributes | |
std::vector< AssignmentProb > | m_assignProb |
assignment probabilities of the ROTs More... | |
LocalParameters | m_localParams |
Amg::MatrixX | m_localCovariance |
Friends | |
class | ::CompetingRIOsOnTrackCnv_p1 |
Base class for all CompetingRIOsOnTack implementations, extends the common MeasurementBase.
This class is used e.g. by the Deterministic Annealing Filter to handle several RIO_OnTracks in one "effective detector layer" (might be more than one DetectorElement), which compete against each other in being assigned to a track. localParameters() and localErrorMatrix() should return the mean values according to the weights (assignment probabilities).
Effective LocalParameters, an ErrorMatrix and a number of competing ROTs with their assignment probabilities are the commonalities of all CompetingRIOsOnTrack.
The derived classes can overwrite the base class definitions of Trk::RIO_OnTrack and Trk::Surface with derived classes for internal use and to avoid extensive RTTI.
The Surface is chosen not to be a private member of the base class, such that dedicated Segments can save specific Surface types and overwrite the return type by a child class to avoid extensive RTTI.
Access to any information of the contained ROTs, such as the underlying Trk::PrepRawData, the pointer to the Trk::DetectorElementBase such as identifiers have to be retrieved from the ROT itself.
Definition at line 63 of file CompetingRIOsOnTrack.h.
typedef double Trk::CompetingRIOsOnTrack::AssignmentProb |
Type def of Assignment probability: probability for a certain RIO_OnTrack to be assigned to the track.
Definition at line 69 of file CompetingRIOsOnTrack.h.
Trk::CompetingRIOsOnTrack::CompetingRIOsOnTrack | ( | ) |
Definition at line 19 of file CompetingRIOsOnTrack.cxx.
Trk::CompetingRIOsOnTrack::CompetingRIOsOnTrack | ( | std::vector< AssignmentProb > && | assgnProb | ) |
Constructor with parameters.
Definition at line 25 of file CompetingRIOsOnTrack.cxx.
|
default |
Copy Constructor.
|
defaultnoexcept |
|
virtualdefault |
Destructor.
|
inline |
returns the AssignmentProbability depending on the integer.
Definition at line 139 of file CompetingRIOsOnTrack.h.
Interface method to get the associated Surface.
Implemented in Trk::RIO_OnTrack, Muon::MdtDriftCircleOnTrack, InDet::PixelClusterOnTrack, Muon::MuonSegment, Muon::CscClusterOnTrack, InDet::TRT_DriftCircleOnTrack, InDet::SCT_ClusterOnTrack, Muon::RpcClusterOnTrack, Trk::TrackSegment, Trk::VertexOnTrack, HGTD_ClusterOnTrack, Muon::sTgcClusterOnTrack, Trk::PseudoMeasurementOnTrack, Trk::SpacePoint, Trk::CaloCluster_OnTrack, Muon::CompetingMuonClustersOnTrack, Muon::TgcClusterOnTrack, InDet::CompetingTRT_DriftCirclesOnTrack, InDet::CompetingPixelClustersOnTrack, Muon::MMClusterOnTrack, and InDet::CompetingSCT_ClustersOnTrack.
|
overridepure virtual |
Pseudo-constructor: needed to avoid excessive RTTI.
Implements Trk::MeasurementBase.
Implemented in Muon::CompetingMuonClustersOnTrack, InDet::CompetingTRT_DriftCirclesOnTrack, InDet::CompetingPixelClustersOnTrack, and InDet::CompetingSCT_ClustersOnTrack.
|
overrideprotectedvirtual |
returns the some information about the base class members (avoid code duplication)
Implements Trk::MeasurementBase.
Reimplemented in Muon::CompetingMuonClustersOnTrack, InDet::CompetingTRT_DriftCirclesOnTrack, InDet::CompetingPixelClustersOnTrack, and InDet::CompetingSCT_ClustersOnTrack.
Definition at line 115 of file CompetingRIOsOnTrack.cxx.
|
overrideprotectedvirtual |
returns the some information about the base class members (avoid code duplication)
Implements Trk::MeasurementBase.
Reimplemented in Muon::CompetingMuonClustersOnTrack, InDet::CompetingTRT_DriftCirclesOnTrack, InDet::CompetingPixelClustersOnTrack, and InDet::CompetingSCT_ClustersOnTrack.
Definition at line 160 of file CompetingRIOsOnTrack.cxx.
|
pure virtualinherited |
Interface method to get the global Position.
Implemented in Trk::RIO_OnTrack, Muon::MdtDriftCircleOnTrack, Muon::MuonSegment, HGTD_ClusterOnTrack, InDet::TRT_DriftCircleOnTrack, Trk::TrackSegment, Trk::VertexOnTrack, Trk::PseudoMeasurementOnTrack, Trk::SpacePoint, Trk::CaloCluster_OnTrack, InDet::SiClusterOnTrack, Muon::MuonClusterOnTrack, Muon::CompetingMuonClustersOnTrack, InDet::CompetingTRT_DriftCirclesOnTrack, InDet::CompetingPixelClustersOnTrack, and InDet::CompetingSCT_ClustersOnTrack.
unsigned int Trk::CompetingRIOsOnTrack::indexOfMaxAssignProb | ( | ) | const |
Index of the ROT with the highest assignment probability.
Definition at line 101 of file CompetingRIOsOnTrack.cxx.
|
inlineinherited |
Interface method to get the localError.
Definition at line 138 of file MeasurementBase.h.
|
inlineinherited |
Interface method to get the LocalParameters.
Definition at line 132 of file MeasurementBase.h.
|
pure virtual |
Number of RIO_OnTracks to be contained by this CompetingRIOsOnTrack.
Implemented in Muon::CompetingMuonClustersOnTrack, InDet::CompetingTRT_DriftCirclesOnTrack, InDet::CompetingPixelClustersOnTrack, and InDet::CompetingSCT_ClustersOnTrack.
|
defaultnoexcept |
|
default |
Assignment operator.
|
pure virtual |
returns the RIO_OnTrack (also known as ROT) objects depending on the integer.
Implemented in Muon::CompetingMuonClustersOnTrack, InDet::CompetingTRT_DriftCirclesOnTrack, InDet::CompetingPixelClustersOnTrack, and InDet::CompetingSCT_ClustersOnTrack.
|
protectedpure virtual |
query if all the contained ROTs have a common associated surface.
If withNonVanishingAssignProb==true just the ROTs with non-vanishing assignment probabilities are checked.
Implemented in Muon::CompetingMuonClustersOnTrack, InDet::CompetingTRT_DriftCirclesOnTrack, InDet::CompetingPixelClustersOnTrack, and InDet::CompetingSCT_ClustersOnTrack.
|
virtual |
recalculate the LocalParameters and ErrorMatrix
Reimplemented in InDet::CompetingTRT_DriftCirclesOnTrack, and InDet::CompetingSCT_ClustersOnTrack.
Definition at line 34 of file CompetingRIOsOnTrack.cxx.
|
inlinefinaloverridevirtual |
Extended method checking the type.
Implements Trk::MeasurementBase.
Definition at line 116 of file CompetingRIOsOnTrack.h.
|
inline |
NVI Clone.
Definition at line 88 of file CompetingRIOsOnTrack.h.
|
friend |
Definition at line 122 of file CompetingRIOsOnTrack.h.
|
protected |
assignment probabilities of the ROTs
Definition at line 125 of file CompetingRIOsOnTrack.h.
|
protectedinherited |
Definition at line 112 of file MeasurementBase.h.
|
protectedinherited |
Definition at line 111 of file MeasurementBase.h.