|
ATLAS Offline Software
|
#include <MuonSegment.h>
|
enum | Author {
AuthorUnknown = 0,
MooMdtSegmentMakerTool = 1,
MooCscSegmentMakerTool = 2,
Muonboy = 3,
DCMathSegmentMaker = 4,
MDT_DHoughSegmentMakerTool = 5,
CSC_DHoughSegmentMakerTool = 6,
Csc2dSegmentMaker = 7,
Csc4dSegmentMaker = 8,
TRT_SegmentMaker = 9,
CTBTracking = 10,
DCMathSegmentMakerCurved = 11,
NswStereoSeeded = 12,
NswStgcSeeded = 13,
NswPadSeeded = 14,
NswQuadAlign = 15,
NumberOfAuthors = 16
} |
| enum to identify who created the segment. More...
|
|
|
| MuonSegment () |
| Default Constructor for POOL. More...
|
|
| MuonSegment (const MuonSegment &seg) |
| Copy Constructor. More...
|
|
MuonSegment & | operator= (const MuonSegment &seg) |
| Assignment operator. More...
|
|
| MuonSegment (MuonSegment &&seg) noexcept=default |
| Move Constructor. More...
|
|
MuonSegment & | operator= (MuonSegment &&seg) noexcept=default |
| Move Assignment operator. More...
|
|
| MuonSegment (Trk::LocalParameters &&locpars, Amg::MatrixX &&locerr, Trk::PlaneSurface *psf, DataVector< const Trk::MeasurementBase > &&cmeas, Trk::FitQuality *fqual, Segment::Author author=AuthorUnknown) |
| Constructor within standard track parameters frame taking a vector of MeasurementBase. More...
|
|
| MuonSegment (const Amg::Vector2D &segLocPos, const Trk::LocalDirection &segLocDir, Amg::MatrixX &&segLocalErr, Trk::PlaneSurface *psf, DataVector< const Trk::MeasurementBase > &&cmeas, Trk::FitQuality *fqual, Segment::Author author=AuthorUnknown) |
| Constructor within local parameters of the Segment taking a vector of MeasurementBase. More...
|
|
virtual | ~MuonSegment () |
| Destructor. More...
|
|
virtual MuonSegment * | clone () const override final |
| needed to avoid excessive RTTI More...
|
|
virtual const Amg::Vector3D & | globalPosition () const override final |
| global position More...
|
|
const Amg::Vector3D & | globalDirection () const |
| global direction More...
|
|
const Trk::LocalDirection & | localDirection () const |
| local direction More...
|
|
virtual const Trk::PlaneSurface & | associatedSurface () const override final |
| returns the surface for the local to global transformation More...
|
|
unsigned int | numberOfContainedROTs () const |
| number of RIO_OnTracks More...
|
|
const Trk::RIO_OnTrack * | rioOnTrack (unsigned int) const |
| returns the RIO_OnTrack (also known as ROT) objects depending on the integer More...
|
|
void | setT0Error (float t0, float t0Error) |
| set the fitted time and error on the time More...
|
|
bool | hasFittedT0 () const |
| returns whether the segment has a fitted t0 More...
|
|
void | recalculateCache () |
| recalculate the cache More...
|
|
std::unique_ptr< Segment > | uniqueClone () const |
| NVI uniqueClone method. More...
|
|
virtual bool | type (MeasurementBaseType::Type type) const override final |
| Extended method checking the type. More...
|
|
const std::vector< const Trk::MeasurementBase * > & | containedMeasurements () const |
| returns the vector of Trk::MeasurementBase objects More...
|
|
const DataVector< const Trk::MeasurementBase > & | containedMeasurementsDataVector () const |
|
bool | hasContainedMeasurements () const |
|
unsigned int | numberOfMeasurementBases () const |
| Return the number of contained Trk::MeasurementBase (s) More...
|
|
const MeasurementBase * | measurement (unsigned int) const |
| returns the Trk::MeasurementBase objects depending on the integer More...
|
|
const FitQuality * | fitQuality () const |
| return the FitQuality object, returns NULL if no FitQuality is defined More...
|
|
void | setAuthor (Author a) |
| sets the segment author More...
|
|
Author | author () const |
| return segment author More...
|
|
std::string | dumpAuthor () const |
| returns human readble string version of author More...
|
|
const LocalParameters & | localParameters () const |
| Interface method to get the LocalParameters. More...
|
|
const Amg::MatrixX & | localCovariance () const |
| Interface method to get the localError. More...
|
|
float | time () const |
| access to the measured time More...
|
|
float | errorTime () const |
| access to the error on the measured time More...
|
|
float | weight () const |
| access to the weight of the space time point More...
|
|
const Trk::PlaneSurface * | surfacePtr () |
| return the ptr we hold useful for tests More...
|
|
const Trk::PlaneSurface * | release () noexcept |
| release ala unique_ptr release More...
|
|
void | destroySurface () noexcept |
| destroySurface deletes the ptr if not null and the surface has not a associatedDetectorElement Usefull also for testing More...
|
|
|
virtual MsgStream & | dump (MsgStream &out) const override final |
| returns some information about this RIO_OnTrack/TrackSegment. More...
|
|
virtual std::ostream & | dump (std::ostream &out) const override final |
| returns some information about this RIO_OnTrack/TrackSegment. More...
|
|
This is the common class for 3D segments used in the muon spectrometer.
The Surface type for MuonSegments is restricted to be a PlaneSurface. The parameters of the MuonSegment are:
- the Trk::LocalPosition of the segment in the surface reference frame
- the Trk::LocalDirection of the segment which consistes of the angles \( \theta_{xz} \) and \(\theta_{yz}\).
The MuonSegment stores a list of Trk::MeasurementBase objects allowing it to contain measurements from all detector types in the muon spectrometer.
- Author
- Niels.nosp@m..van.nosp@m..Eldi.nosp@m.k@ce.nosp@m.rn.ch, Edwar.nosp@m.d.Mo.nosp@m.yse@c.nosp@m.ern..nosp@m.ch, Andre.nosp@m.as.S.nosp@m.alzbu.nosp@m.rger.nosp@m.@cern.nosp@m..ch
Definition at line 41 of file MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonSegment/MuonSegment/MuonSegment.h.
◆ Author
enum to identify who created the segment.
If you update this don't forget to update the dump method.
Enumerator |
---|
AuthorUnknown | |
MooMdtSegmentMakerTool | |
MooCscSegmentMakerTool | |
Muonboy | |
DCMathSegmentMaker | |
MDT_DHoughSegmentMakerTool | |
CSC_DHoughSegmentMakerTool | |
Csc2dSegmentMaker | |
Csc4dSegmentMaker | |
TRT_SegmentMaker | |
CTBTracking | |
DCMathSegmentMakerCurved | |
NswStereoSeeded | |
NswStgcSeeded | |
NswPadSeeded | |
NswQuadAlign | |
NumberOfAuthors | |
Definition at line 62 of file Tracking/TrkEvent/TrkSegment/TrkSegment/Segment.h.
◆ MuonSegment() [1/5]
Muon::MuonSegment::MuonSegment |
( |
| ) |
|
◆ MuonSegment() [2/5]
Copy Constructor.
Definition at line 31 of file MuonSegment.cxx.
40 ? seg.m_associatedSurface
41 : seg.m_associatedSurface->
clone();
◆ MuonSegment() [3/5]
◆ MuonSegment() [4/5]
Constructor within standard track parameters frame taking a vector of MeasurementBase.
- Parameters
-
locpars | 4 dim or 5 dim standard track parameters representation |
locerr | 4 x 4 error or 5 x 5 error on standard track parameters repr. |
psf | plane surface |
cmeas | vector of contained measurements on track |
fqual | fit quality object |
author | enum to indicate author, see Segment.h for the possible authors |
Definition at line 58 of file MuonSegment.cxx.
64 :
Segment(std::move(locpars), std::move(locerr),
65 std::move(cmeas), fqual,
author)
◆ MuonSegment() [5/5]
Constructor within local parameters of the Segment taking a vector of MeasurementBase.
- Parameters
-
segLocPos | 2 local position coordinates |
segLocalErr | 2 local direction coordinates |
segLocalErr | 4 x 4 full local error |
psf | plane surface |
cmeas | vector of contained measurements on track |
fqual | fit quality object |
author | enum to indicate author, see Segment.h for the possible authors |
Definition at line 76 of file MuonSegment.cxx.
84 std::move(cmeas), fqual,
author)
98 std::array<Trk::DefinedParameter, 4>
pars = {
◆ ~MuonSegment()
Muon::MuonSegment::~MuonSegment |
( |
| ) |
|
|
virtualdefault |
◆ associatedSurface()
|
inlinefinaloverridevirtual |
◆ author()
Segment::Author Trk::Segment::author |
( |
| ) |
const |
|
inlineinherited |
◆ clearMeasVector()
void Muon::MuonSegment::clearMeasVector |
( |
| ) |
|
|
private |
◆ clone()
|
inlinefinaloverridevirtual |
◆ cloneHelper()
Helper for cloning or not when we need depending on if we have an associatedDetectorElement.
Definition at line 236 of file SurfaceHolderImpl.h.
238 return (
input &&
input->associatedDetectorElement() ==
nullptr
◆ containedMeasurements()
◆ containedMeasurementsDataVector()
◆ destroySurface()
destroySurface deletes the ptr if not null and the surface has not a associatedDetectorElement Usefull also for testing
Definition at line 224 of file SurfaceHolderImpl.h.
◆ dump() [1/2]
MsgStream & Muon::MuonSegment::dump |
( |
MsgStream & |
out | ) |
const |
|
finaloverrideprotectedvirtual |
returns some information about this RIO_OnTrack/TrackSegment.
It should be overloaded by any child classes
Implements Trk::MeasurementBase.
Definition at line 126 of file MuonSegment.cxx.
128 out <<
"Muon::MuonSegment " << std::endl;
129 out <<
" - global position : " << std::endl
132 out <<
" - local parameters : " << std::endl
134 out <<
" - local Err Matrix : ";
137 out <<
" - fit Quality : " << std::endl
140 out <<
" - fit Quality : NO " << std::endl;
141 out <<
" - associated Surface : " << std::endl
146 <<
" RIO_OnTrack object" << std::endl;
147 unsigned int numRoT = 1;
151 out <<
"RoT " << numRoT++ << std::endl << *rot << std::endl;
◆ dump() [2/2]
std::ostream & Muon::MuonSegment::dump |
( |
std::ostream & |
out | ) |
const |
|
finaloverrideprotectedvirtual |
returns some information about this RIO_OnTrack/TrackSegment.
It should be overloaded by any child classes
Implements Trk::MeasurementBase.
Definition at line 158 of file MuonSegment.cxx.
160 out <<
"Muon::MuonSegment " << std::endl;
161 out <<
" - global position : " << std::endl
164 out <<
" - local parameters : " << std::endl
166 out <<
" - local Err Matrix : ";
169 out <<
" - fit Quality : " << std::endl
172 out <<
" - fit Quality : NO " << std::endl;
173 out <<
" - associated Surface : " << std::endl
178 <<
" RIO_OnTrack object" << std::endl;
179 unsigned int numRoT = 1;
183 out <<
"RoT " << numRoT++ << std::endl << *rot << std::endl;
◆ dumpAuthor()
std::string Trk::Segment::dumpAuthor |
( |
| ) |
const |
|
inherited |
returns human readble string version of author
Definition at line 97 of file TrkEvent/TrkSegment/src/Segment.cxx.
104 author =
"MooMdtSegmentMakerTool";
107 author =
"MooCscSegmentMakerTool";
113 author =
"DCMathSegmentMaker";
116 author =
"MDT_DHoughSegmentMakerTool";
119 author =
"CSC_DHoughSegmentMakerTool";
122 author =
"Csc2dSegmentMaker";
125 author =
"Csc4dSegmentMaker";
128 author =
"TRT_SegmentMaker";
131 author =
"Nsw MM stereo seeded";
134 author =
"Nsw sTgc seeded";
137 author =
"Nsw single quad";
140 author =
"Nsw single quad";
◆ errorTime()
float Trk::SpaceTimePointBase::errorTime |
( |
| ) |
const |
|
inlineinherited |
◆ fitQuality()
const FitQuality * Trk::Segment::fitQuality |
( |
| ) |
const |
|
inlineinherited |
◆ globalDirection()
◆ globalPosition()
|
inlinefinaloverridevirtual |
◆ hasContainedMeasurements()
bool Trk::Segment::hasContainedMeasurements |
( |
| ) |
const |
|
inlineinherited |
◆ hasFittedT0()
bool Muon::MuonSegment::hasFittedT0 |
( |
| ) |
const |
|
inline |
◆ localCovariance()
◆ localDirection()
◆ localParameters()
◆ measurement()
◆ numberOfContainedROTs()
unsigned int Muon::MuonSegment::numberOfContainedROTs |
( |
| ) |
const |
|
inline |
◆ numberOfInstantiations()
◆ numberOfMeasurementBases()
unsigned int Trk::Segment::numberOfMeasurementBases |
( |
| ) |
const |
|
inlineinherited |
◆ operator=() [1/2]
◆ operator=() [2/2]
Move Assignment operator.
◆ recalculateCache()
void Muon::MuonSegment::recalculateCache |
( |
| ) |
|
recalculate the cache
Definition at line 109 of file MuonSegment.cxx.
115 double sintheta = sctheta.sn;
116 double costheta = sctheta.cs;
117 double sinphi = scphi.sn;
118 double cosphi = scphi.cs;
120 Amg::Vector3D(cosphi * sintheta, sinphi * sintheta, costheta);
◆ release()
◆ rioOnTrack()
◆ setAuthor()
void Trk::Segment::setAuthor |
( |
Author |
a | ) |
|
|
inherited |
◆ setT0Error()
void Muon::MuonSegment::setT0Error |
( |
float |
t0, |
|
|
float |
t0Error |
|
) |
| |
|
inline |
◆ surfacePtr()
◆ time()
float Trk::SpaceTimePointBase::time |
( |
| ) |
const |
|
inlineinherited |
◆ type()
|
inlinefinaloverridevirtualinherited |
◆ uniqueClone()
std::unique_ptr<Segment> Trk::Segment::uniqueClone |
( |
| ) |
const |
|
inlineinherited |
◆ weight()
float Trk::SpaceTimePointBase::weight |
( |
| ) |
const |
|
inlineinherited |
◆ kNoValue
const float Muon::MuonSegment::kNoValue = FLT_MAX |
|
static |
◆ m_associatedSurface
◆ m_author
◆ m_containedMeasBases
◆ m_errorTime
float Trk::SpaceTimePointBase::m_errorTime |
|
protectedinherited |
◆ m_fitQuality
std::unique_ptr<FitQuality> Trk::Segment::m_fitQuality |
|
protectedinherited |
◆ m_globalDirection
◆ m_globalPosition
◆ m_localCovariance
◆ m_localDirection
◆ m_localParams
LocalParameters Trk::MeasurementBase::m_localParams |
|
protectedinherited |
◆ m_time
float Trk::SpaceTimePointBase::m_time |
|
protectedinherited |
◆ m_weight
float Trk::SpaceTimePointBase::m_weight |
|
protectedinherited |
◆ s_numberOfInstantiations
The documentation for this class was generated from the following files:
float errorTime() const
access to the error on the measured time
void localToGlobalDirection(const Trk::LocalDirection &locdir, Amg::Vector3D &globdir) const
This method transforms a local direction wrt the plane to a global direction.
SpaceTimePointBase & operator=(const SpaceTimePointBase &stpb)=default
Assignment operator.
@ MDT_DHoughSegmentMakerTool
const TrkDetElementBase * associatedDetectorElement() const
return associated Detector Element
SurfacePtrHolderImplDetEl & operator=(const SurfacePtrHolderImplDetEl &other)
copy assingmemnt if surface is free we clone/copy.
static const float kNoValue
define invalid value, used when the segment has no fitted t0
Eigen::Matrix< double, 2, 1 > Vector2D
Trk::LocalDirection m_localDirection
LocalDirection.
std::vector< ALFA_RawData_p1 > t0
@ CSC_DHoughSegmentMakerTool
Amg::Vector3D m_globalPosition
The global position the surface can be associated to.
DataVector< const MeasurementBase > m_containedMeasBases
The vector of contained (generic) Trk::MeasurementBase objects.
virtual bool type(MeasurementBaseType::Type type) const override final
Extended method checking the type.
const Trk::PlaneSurface * m_associatedSurface
unsigned int numberOfContainedROTs() const
number of RIO_OnTracks
Amg::Vector3D m_globalDirection
cache global direction, not persistified
std::string toString(const Translation3D &translation, int precision=4)
GeoPrimitvesToStringConverter.
const Trk::LocalDirection & localDirection() const
local direction
const std::vector< const Trk::MeasurementBase * > & containedMeasurements() const
returns the vector of Trk::MeasurementBase objects
Segment & operator=(const Segment &seg)
Assignment operator.
virtual Segment * clone() const override=0
Pseudo-constructor: needed to avoid excessive RTTI.
float m_weight
weight of the point
virtual bool type(MeasurementBaseType::Type type) const =0
Interface method checking the type.
void globalToLocalDirection(const Amg::Vector3D &glodir, Trk::LocalDirection &locdir) const
This method transforms the global direction to a local direction wrt the plane.
LocalParameters m_localParams
const Amg::MatrixX & localCovariance() const
Interface method to get the localError.
@ DCMathSegmentMakerCurved
SpaceTimePointBase(const float &t, const float &t_error, const float &weight)
constructor taking a time, an error on the time and a weight
std::unique_ptr< FitQuality > m_fitQuality
The fit quality of the Segment.
void recalculateCache()
recalculate the cache
std::string to_string(const DetectorType &type)
Eigen::Matrix< double, 3, 1 > Vector3D
Author m_author
segment author
const LocalParameters & localParameters() const
Interface method to get the LocalParameters.
Amg::MatrixX m_localCovariance
float m_errorTime
error on the time measurement
static std::atomic_size_t s_numberOfInstantiations
Segment()
Default Constructor for POOL.
Helper to simultaneously calculate sin and cos of the same angle.
MuonSegment()
Default Constructor for POOL.
Author author() const
return segment author
virtual const Amg::Vector3D & globalPosition() const override final
global position
float time() const
access to the measured time
virtual void localToGlobal(const Amg::Vector2D &locp, const Amg::Vector3D &mom, Amg::Vector3D &glob) const override final
Specified for PlaneSurface: LocalToGlobal method without dynamic memory allocation.
const FitQuality * fitQuality() const
return the FitQuality object, returns NULL if no FitQuality is defined
virtual PlaneSurface * clone() const override
Virtual constructor.
float m_time
measured time
virtual const Trk::PlaneSurface & associatedSurface() const override final
returns the surface for the local to global transformation