ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkEvent
TrkEventPrimitives
TrkEventPrimitives
FitQuality.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
// FitQuality.h, (c) ATLAS Detector software
8
9
#ifndef TRKEVENTPRIMITIVES_TRKFITQUALITY_H
10
#define TRKEVENTPRIMITIVES_TRKFITQUALITY_H
11
12
#include <cmath>
//for std::floor in the included .icc file
13
#include <iosfwd>
14
#include <memory>
15
class
MsgStream;
16
17
namespace
Trk
{
30
31
class
FitQualityImpl
32
{
33
public
:
35
FitQualityImpl
() =
default
;
36
FitQualityImpl
(
const
FitQualityImpl
&) =
default
;
37
FitQualityImpl
(
FitQualityImpl
&&) =
default
;
38
FitQualityImpl
&
operator=
(
const
FitQualityImpl
&) =
default
;
39
FitQualityImpl
&
operator=
(
FitQualityImpl
&&) =
default
;
40
42
FitQualityImpl
(
double
chiSquared
,
int
numberDoF
)
43
:
m_chiSquared
(
chiSquared
)
44
,
m_numberDoF
(
numberDoF
)
45
{
46
}
47
49
FitQualityImpl
(
double
chiSquared
,
double
numberDoF
)
50
:
m_chiSquared
(
chiSquared
)
51
,
m_numberDoF
(
numberDoF
)
52
{
53
}
54
56
double
chiSquared
()
const
{
return
m_chiSquared
; }
57
60
int
numberDoF
()
const
61
{
62
63
return
static_cast<
int
>
(std::floor(
m_numberDoF
+ 0.5));
64
}
65
68
double
doubleNumberDoF
()
const
{
return
m_numberDoF
; }
69
71
void
setChiSquared
(
double
chiSquared
) {
m_chiSquared
=
chiSquared
; }
72
74
void
setNumberDoF
(
double
numberDoF
) {
m_numberDoF
=
numberDoF
; }
75
76
protected
:
77
//Protected
78
//We do not want to create/destroy
79
//objects via this class
80
~FitQualityImpl
() =
default
;
81
double
m_chiSquared
{};
82
double
m_numberDoF
{};
83
84
};
// end of class definitions
85
96
class
FitQuality
:
public
FitQualityImpl
97
{
98
public
:
99
using
FitQualityImpl::FitQualityImpl
;
100
using
FitQualityImpl::operator=;
101
using
FitQualityImpl::chiSquared
;
102
using
FitQualityImpl::doubleNumberDoF
;
103
using
FitQualityImpl::numberDoF
;
104
using
FitQualityImpl::setChiSquared
;
105
using
FitQualityImpl::setNumberDoF
;
106
107
// Needed for T/P since we used to have only
108
// FitQuality, This copies the payload
109
// we set to the persistent type
110
// i.e FitQuality_p1.
111
FitQuality
(
const
FitQualityImpl
& fq)
112
:
FitQualityImpl
(fq.
chiSquared
(), fq.
doubleNumberDoF
())
113
{
114
}
115
116
virtual
~FitQuality
() =
default
;
117
119
virtual
FitQuality
*
clone
()
const
;
120
122
std::unique_ptr<FitQuality>
uniqueClone
()
const
;
123
124
};
// end of class definitions
125
127
MsgStream&
128
operator<<
(MsgStream& sl,
const
FitQualityImpl
& fq);
130
std::ostream&
131
operator<<
(std::ostream& sl,
const
FitQualityImpl
& fq);
132
133
}
// end ns
134
#include "
TrkEventPrimitives/FitQuality.icc
"
135
#endif
// TRKEVENTPRIMITIVES_FITQUALITY_H
FitQuality.icc
Trk::FitQualityImpl
simple/trivial Implemenation class for fit the fit quality.
Definition
FitQuality.h:32
Trk::FitQualityImpl::FitQualityImpl
FitQualityImpl(FitQualityImpl &&)=default
Trk::FitQualityImpl::numberDoF
int numberDoF() const
returns the number of degrees of freedom of the overall track or vertex fit as integer
Definition
FitQuality.h:60
Trk::FitQualityImpl::FitQualityImpl
FitQualityImpl(const FitQualityImpl &)=default
Trk::FitQualityImpl::FitQualityImpl
FitQualityImpl(double chiSquared, int numberDoF)
Constructor with and .
Definition
FitQuality.h:42
Trk::FitQualityImpl::chiSquared
double chiSquared() const
returns the of the overall track fit
Definition
FitQuality.h:56
Trk::FitQualityImpl::setChiSquared
void setChiSquared(double chiSquared)
set the
Definition
FitQuality.h:71
Trk::FitQualityImpl::FitQualityImpl
FitQualityImpl(double chiSquared, double numberDoF)
Constructor hadling double type of NDF.
Definition
FitQuality.h:49
Trk::FitQualityImpl::FitQualityImpl
FitQualityImpl()=default
default ctor for POOL
Trk::FitQualityImpl::doubleNumberDoF
double doubleNumberDoF() const
returns the number of degrees of freedom of the overall track or vertex fit as double
Definition
FitQuality.h:68
Trk::FitQualityImpl::m_chiSquared
double m_chiSquared
Definition
FitQuality.h:81
Trk::FitQualityImpl::operator=
FitQualityImpl & operator=(const FitQualityImpl &)=default
Trk::FitQualityImpl::~FitQualityImpl
~FitQualityImpl()=default
Trk::FitQualityImpl::setNumberDoF
void setNumberDoF(double numberDoF)
set the number of degrees of freedom
Definition
FitQuality.h:74
Trk::FitQualityImpl::operator=
FitQualityImpl & operator=(FitQualityImpl &&)=default
Trk::FitQualityImpl::m_numberDoF
double m_numberDoF
Definition
FitQuality.h:82
Trk::FitQuality::chiSquared
double chiSquared() const
returns the of the overall track fit
Definition
FitQuality.h:56
Trk::FitQuality::~FitQuality
virtual ~FitQuality()=default
Trk::FitQuality::FitQualityImpl
FitQualityImpl()=default
default ctor for POOL
Trk::FitQuality::doubleNumberDoF
double doubleNumberDoF() const
returns the number of degrees of freedom of the overall track or vertex fit as double
Definition
FitQuality.h:68
Trk::FitQuality::clone
virtual FitQuality * clone() const
Virtual constructor.
Trk::FitQuality::uniqueClone
std::unique_ptr< FitQuality > uniqueClone() const
NVI uniqueClone.
Trk::FitQuality::FitQuality
FitQuality(const FitQualityImpl &fq)
Definition
FitQuality.h:111
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
Trk::operator<<
MsgStream & operator<<(MsgStream &sl, const AlignModule &alignModule)
overload of << operator for MsgStream for debug output
Definition
AlignModule.cxx:204
Generated on
for ATLAS Offline Software by
1.17.0