ATLAS Offline Software
Loading...
Searching...
No Matches
Muon::MuonTSOSHelper Class Reference

#include <MuonTSOSHelper.h>

Collaboration diagram for Muon::MuonTSOSHelper:

Static Public Member Functions

static std::unique_ptr< Trk::TrackStateOnSurfacecloneTSOS (const Trk::TrackStateOnSurface &tsos, Trk::TrackStateOnSurface::TrackStateOnSurfaceType type)
 clone input, update the type
static std::unique_ptr< Trk::TrackStateOnSurfacecloneTSOSWithUpdate (const Trk::TrackStateOnSurface &tsos, const Trk::MeasurementBase &meas, const Trk::TrackParameters &pars, Trk::TrackStateOnSurface::TrackStateOnSurfaceType type)
 clone input, replacing the track parameteres and the measurement base and updating the type
static std::unique_ptr< Trk::TrackStateOnSurfacecreatePerigeeTSOS (std::unique_ptr< Trk::TrackParameters > perigee)
 create a perigee TSOS, takes ownership of the Perigee
static std::unique_ptr< Trk::TrackStateOnSurfacecreateMeasTSOS (std::unique_ptr< Trk::MeasurementBase > meas, std::unique_ptr< Trk::TrackParameters > pars, Trk::TrackStateOnSurface::TrackStateOnSurfaceType type)
 create a TSOS with a measurement, takes ownership of the pointers
static std::unique_ptr< Trk::TrackStateOnSurfacecreateMeasTSOSWithUpdate (const Trk::TrackStateOnSurface &tsos, std::unique_ptr< Trk::MeasurementBase > meas, std::unique_ptr< Trk::TrackParameters > pars, Trk::TrackStateOnSurface::TrackStateOnSurfaceType type)
 create a TSOS with a measurement, takes ownership of the pointers
static std::unique_ptr< Trk::TrackStateOnSurfacecreateHoleTSOS (std::unique_ptr< Trk::TrackParameters > pars)
 create a hole TSOS, takes ownership of the pointers

Detailed Description

Definition at line 12 of file MuonTSOSHelper.h.

Member Function Documentation

◆ cloneTSOS()

std::unique_ptr< Trk::TrackStateOnSurface > Muon::MuonTSOSHelper::cloneTSOS ( const Trk::TrackStateOnSurface & tsos,
Trk::TrackStateOnSurface::TrackStateOnSurfaceType type )
inlinestatic

clone input, update the type

Definition at line 15 of file MuonTSOSHelper.h.

16 {
17 std::bitset<Trk::TrackStateOnSurface::NumberOfTrackStateOnSurfaceTypes> typePattern = tsos.types();
21 typePattern.set(Trk::TrackStateOnSurface::Outlier, false);
22 typePattern.set(type);
23
24 return std::make_unique<Trk::TrackStateOnSurface>(
26 tsos.measurementOnTrack() ? tsos.measurementOnTrack()->uniqueClone() : nullptr,
27 tsos.trackParameters() ? tsos.trackParameters()->uniqueClone() : nullptr,
29 typePattern);
30 }
std::unique_ptr< MaterialEffectsBase > uniqueClone() const
NVI uniqueClone.
std::unique_ptr< MeasurementBase > uniqueClone() const
NVI Clone giving up unique pointer.
std::unique_ptr< ParametersBase< DIM, T > > uniqueClone() const
clone method for polymorphic deep copy returning unique_ptr; it is not overriden, but uses the existi...
const std::bitset< NumberOfTrackStateOnSurfaceTypes > types() const
returns a bitset with the types of this bitset.
const MeasurementBase * measurementOnTrack() const
returns MeasurementBase const overload
const TrackParameters * trackParameters() const
return ptr to trackparameters const overload
const FitQualityOnSurface & fitQualityOnSurface() const
return FitQuality On Surface const overload
@ Measurement
This is a measurement, and will at least contain a Trk::MeasurementBase.
@ Outlier
This TSoS contains an outlier, that is, it contains a MeasurementBase/RIO_OnTrack which was not used ...
const MaterialEffectsBase * materialEffectsOnTrack() const
return material effects const overload

◆ cloneTSOSWithUpdate()

std::unique_ptr< Trk::TrackStateOnSurface > Muon::MuonTSOSHelper::cloneTSOSWithUpdate ( const Trk::TrackStateOnSurface & tsos,
const Trk::MeasurementBase & meas,
const Trk::TrackParameters & pars,
Trk::TrackStateOnSurface::TrackStateOnSurfaceType type )
inlinestatic

clone input, replacing the track parameteres and the measurement base and updating the type

Definition at line 34 of file MuonTSOSHelper.h.

36 {
37 std::bitset<Trk::TrackStateOnSurface::NumberOfTrackStateOnSurfaceTypes> typePattern = tsos.types();
41 typePattern.set(Trk::TrackStateOnSurface::Outlier, false);
42 typePattern.set(type);
43
44 return std::make_unique<Trk::TrackStateOnSurface>(
46 meas.uniqueClone(),
47 pars.uniqueClone(),
49 typePattern);
50 }

◆ createHoleTSOS()

std::unique_ptr< Trk::TrackStateOnSurface > Muon::MuonTSOSHelper::createHoleTSOS ( std::unique_ptr< Trk::TrackParameters > pars)
inlinestatic

create a hole TSOS, takes ownership of the pointers

Definition at line 92 of file MuonTSOSHelper.h.

92 {
93 std::bitset<Trk::TrackStateOnSurface::NumberOfTrackStateOnSurfaceTypes> typePattern;
94 typePattern.set(Trk::TrackStateOnSurface::Hole);
95 return std::make_unique<Trk::TrackStateOnSurface>(nullptr, std::move(pars), nullptr, typePattern);
96 }
@ Hole
A hole on the track - this is defined in the following way.

◆ createMeasTSOS()

std::unique_ptr< Trk::TrackStateOnSurface > Muon::MuonTSOSHelper::createMeasTSOS ( std::unique_ptr< Trk::MeasurementBase > meas,
std::unique_ptr< Trk::TrackParameters > pars,
Trk::TrackStateOnSurface::TrackStateOnSurfaceType type )
inlinestatic

create a TSOS with a measurement, takes ownership of the pointers

Definition at line 62 of file MuonTSOSHelper.h.

64 {
65 std::bitset<Trk::TrackStateOnSurface::NumberOfTrackStateOnSurfaceTypes> typePattern;
67 typePattern.set(type);
68 return std::make_unique<Trk::TrackStateOnSurface>(std::move(meas), std::move(pars), nullptr, typePattern);
69 }

◆ createMeasTSOSWithUpdate()

std::unique_ptr< Trk::TrackStateOnSurface > Muon::MuonTSOSHelper::createMeasTSOSWithUpdate ( const Trk::TrackStateOnSurface & tsos,
std::unique_ptr< Trk::MeasurementBase > meas,
std::unique_ptr< Trk::TrackParameters > pars,
Trk::TrackStateOnSurface::TrackStateOnSurfaceType type )
inlinestatic

create a TSOS with a measurement, takes ownership of the pointers

Definition at line 74 of file MuonTSOSHelper.h.

76 {
77 std::bitset<Trk::TrackStateOnSurface::NumberOfTrackStateOnSurfaceTypes> typePattern = tsos.types();
81 typePattern.set(Trk::TrackStateOnSurface::Outlier, false);
82 typePattern.set(type);
83 return std::make_unique<Trk::TrackStateOnSurface>(
85 std::move(meas),
86 std::move(pars),
88 typePattern);
89 }

◆ createPerigeeTSOS()

std::unique_ptr< Trk::TrackStateOnSurface > Muon::MuonTSOSHelper::createPerigeeTSOS ( std::unique_ptr< Trk::TrackParameters > perigee)
inlinestatic

create a perigee TSOS, takes ownership of the Perigee

Definition at line 54 of file MuonTSOSHelper.h.

54 {
55 std::bitset<Trk::TrackStateOnSurface::NumberOfTrackStateOnSurfaceTypes> typePattern;
56 typePattern.set(Trk::TrackStateOnSurface::Perigee);
57 return std::make_unique<Trk::TrackStateOnSurface>(nullptr, std::move(perigee), nullptr, typePattern);
58 }
@ Perigee
This represents a perigee, and so will contain a Perigee object only.

The documentation for this class was generated from the following file: