ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkEvent
TrkParametersBase
TrkParametersBase
ParametersBase.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
// ParametersBase.h, (c) ATLAS Detector software
8
9
#ifndef TRKPARAMETERSBASE_PARAMETERSBASE_H
10
#define TRKPARAMETERSBASE_PARAMETERSBASE_H
11
//
12
#include "
TrkParametersBase/ParametersCommon.h
"
13
//system
14
#include <memory>
15
#include <type_traits>
16
#include <optional>
17
#include <iosfwd>
18
19
class
MsgStream;
20
21
template
<
typename
T>
22
class
TrackParametersCovarianceCnv
;
23
class
TrackParametersCnv_p2
;
24
class
MeasuredPerigeeCnv_p1
;
25
template
<
class
SURFACE_CNV,
class
ATA_SURFACE>
26
class
AtaSurfaceCnv_p1
;
27
28
namespace
Trk
{
29
class
Surface
;
30
class
MaterialEffectsEngine
;
31
32
52
53
template
<
int
DIM,
class
T>
54
class
ParametersBase
:
public
ParametersCommon
<DIM,T>
55
{
56
public
:
58
virtual
~ParametersBase
() =
default
;
59
61
double
charge
()
const
;
62
64
const
Amg::Vector3D
&
position
()
const
;
65
67
const
Amg::Vector3D
&
momentum
()
const
;
68
70
double
pT
()
const
;
71
73
double
eta
()
const
;
74
76
virtual
bool
operator==
(
const
ParametersBase<DIM, T>
&)
const
;
77
80
virtual
ParametersBase<DIM, T>
*
clone
()
const override
= 0;
81
85
std::unique_ptr<ParametersBase<DIM, T>>
uniqueClone
()
const
{
86
return
std::unique_ptr<ParametersBase<DIM, T>>(this->
clone
());
87
}
88
90
virtual
MsgStream&
dump
(MsgStream& out)
const
;
91
virtual
std::ostream&
dump
(std::ostream& out)
const
;
92
93
protected
:
94
/*
95
* This is an abstract class and we can not instantiate objects directly.
96
* In the other hand derived classed can use ctors
97
*/
98
ParametersBase
() =
default
;
99
ParametersBase
(
ParametersBase
&&) noexcept = default;
100
ParametersBase
& operator=(
ParametersBase
&&) noexcept = default;
101
ParametersBase
(
const
ParametersBase
&) = default;
102
ParametersBase
& operator=(
const
ParametersBase
&) = default;
103
104
/* Helper ctors for derived classes*/
105
ParametersBase
(
const
AmgVector
(DIM) parameters,
106
std
::optional<
AmgSymMatrix
(DIM)>&& covariance,
107
const
T chargeDef);
108
109
ParametersBase
(
std
::optional<
AmgSymMatrix
(DIM)>&& covariance);
110
111
ParametersBase
(
const
AmgVector
(DIM) & parameters,
112
std
::optional<
AmgSymMatrix
(DIM)>&& covariance =
std
::nullopt);
113
114
/*
115
* Add dependent names into scope
116
*/
117
using
ParametersCommon
<DIM, T>::m_parameters;
118
using
ParametersCommon
<DIM, T>::
m_covariance
;
119
using
ParametersCommon
<DIM, T>::
m_chargeDef
;
120
Amg
::
Vector3D
m_position
;
121
Amg
::
Vector3D
m_momentum
;
122
};
123
126
template<
int
DIM, class T>
127
MsgStream&
128
operator<<(MsgStream& sl,
const
Trk
::
ParametersBase
<DIM, T>& tp);
129
130
template<
int
DIM, class T>
131
std
::
ostream
&
132
operator<<(
std
::
ostream
& sl,
const
Trk
::
ParametersBase
<DIM, T>& tp);
133
134
}
// end of namespace Trk
135
136
#include "TrkParametersBase/ParametersBase.icc"
137
138
#endif
ParametersCommon.h
Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition
GeoPrimitives.h:48
AtaSurfaceCnv_p1
Definition
AtaSurfaceCnv_p1.h:31
MeasuredPerigeeCnv_p1
Definition
MeasuredPerigeeCnv_p1.h:27
TrackParametersCnv_p2
New convertor which handles all track parameters in one go - i.e.
Definition
TrackParametersCnv_p2.h:30
TrackParametersCovarianceCnv
Definition
TrackParametersCovarianceCnv.h:24
Trk::MaterialEffectsEngine
Material effects engine interface for charged and neutral (fast track simulation) ,...
Definition
MaterialEffectsEngine.h:38
Trk::ParametersBase
The base class for neutral and charged Track parameters.
Definition
ParametersBase.h:55
Trk::ParametersBase::dump
virtual MsgStream & dump(MsgStream &out) const
Dumps relevant information about the track parameters into the ostream.
Trk::ParametersBase::eta
double eta() const
Access method for pseudorapidity - from momentum.
Trk::ParametersBase::momentum
const Amg::Vector3D & momentum() const
Access method for the momentum.
Trk::ParametersBase::operator==
virtual bool operator==(const ParametersBase< DIM, T > &) const
equality operator
Trk::ParametersBase::ParametersBase
ParametersBase(ParametersBase &&) noexcept=default
Trk::ParametersBase::~ParametersBase
virtual ~ParametersBase()=default
virtual Destructor
Trk::ParametersBase::clone
virtual ParametersBase< DIM, T > * clone() const override=0
clone method for polymorphic deep copy
Trk::ParametersBase::dump
virtual std::ostream & dump(std::ostream &out) const
Trk::ParametersBase::position
const Amg::Vector3D & position() const
Access method for the position.
Trk::ParametersBase::charge
double charge() const
Returns the charge.
Trk::ParametersBase::pT
double pT() const
Access method for transverse momentum.
Trk::ParametersBase< NeutralParametersDim, Neutral >::m_momentum
Amg::Vector3D m_momentum
Definition
ParametersBase.h:121
Trk::ParametersBase< NeutralParametersDim, Neutral >::m_position
Amg::Vector3D m_position
Definition
ParametersBase.h:120
Trk::ParametersBase::ParametersBase
ParametersBase()=default
Trk::ParametersBase::uniqueClone
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...
Definition
ParametersBase.h:85
Trk::ParametersBase< NeutralParametersDim, Neutral >::m_covariance
std::optional< AmgSymMatrix(DIM)> m_covariance
Definition
ParametersCommon.h:147
Trk::ParametersBase< NeutralParametersDim, Neutral >::AmgSymMatrix
const AmgSymMatrix(DIM) *covariance() const
Trk::ParametersCommon::ParametersCommon
ParametersCommon()=default
Trk::ParametersBase< NeutralParametersDim, Neutral >::AmgVector
const AmgVector(DIM) ¶meters() const
Trk::ParametersBase< NeutralParametersDim, Neutral >::m_chargeDef
Neutral m_chargeDef
Definition
ParametersCommon.h:149
Trk::Surface
Abstract Base Class for tracking surfaces.
Definition
Surface.h:79
ostream
STL class.
const
Amg
Definition of ATLAS Math & Geometry primitives (Amg).
Definition
AmgStringHelpers.h:19
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition
GeoPrimitives.h:48
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
std
STL namespace.
Generated on
for ATLAS Offline Software by
1.17.0