ATLAS Offline Software
Loading...
Searching...
No Matches
FourMomentumError.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef FourMomentumError_H
6#define FourMomentumError_H
7
9#include "CLHEP/Matrix/SymMatrix.h"
11
12template < class FourMom>
14private:
15
17
18public:
19
20 FourMomentumError(const ErrorMatrixPxPyPzE&, const FourMom&);
21 FourMomentumError(const ErrorMatrixEEtaPhiM&, const FourMom&);
22 FourMomentumError(const ErrorMatrixPtEtaPhiM&, const FourMom&);
24
25 FourMomentumError( const CLHEP::HepSymMatrix&, ParamType, const FourMom&);
26
27 // copy constructor may not copy cached matrices
30
31 virtual const ErrorMatrixPxPyPzE* pxPyPzEMatrix() const override;
32 virtual const ErrorMatrixEEtaPhiM* eEtaPhiMMatrix() const override;
33 virtual const ErrorMatrixPtEtaPhiM* ptEtaPhiMMatrix() const override;
34 virtual const ErrorMatrixPtCotThPhiM* ptCotThPhiMMatrix() const override;
35 virtual double pxError() const override;
36 virtual double pyError() const override;
37 virtual double pzError() const override;
38 virtual double mError() const override;
39 virtual double m2Error() const override;
40 virtual double pError() const override;
41 virtual double p2Error() const override;
42 virtual double etaError() const override;
43 virtual double rapidityError() const override;
44 virtual double phiError() const override;
45 virtual double eError() const override;
46 virtual double etError() const override;
47 virtual double ptError() const override;
48 virtual double iPtError() const override;
49 virtual double cosPhiError() const override;
50 virtual double sinPhiError() const override;
51 virtual double cosThError() const override;
52 virtual double sinThError() const override;
53 virtual double cotThError() const override;
54 virtual double tanThError() const override;
55
56private:
57
58 const FourMom& m_p4;
63
65
70
71 double sqr( double x) const {return x*x;}
72};
73
75
76#endif
Cached unique_ptr with atomic update.
#define x
virtual const ErrorMatrixPtCotThPhiM * ptCotThPhiMMatrix() const override
Access to PtCotThPhiM error matrix, can return 0 if errors not defined.
FourMomentumError(const ErrorMatrixPtEtaPhiM &, const FourMom &)
FourMomentumError(const ErrorMatrixPtCotThPhiM &, const FourMom &)
virtual double sinPhiError() const override
FourMomentumError(const CLHEP::HepSymMatrix &, ParamType, const FourMom &)
virtual double etaError() const override
virtual double p2Error() const override
virtual const ErrorMatrixPxPyPzE * pxPyPzEMatrix() const override
Access to PxPyPzE error matrix, can return 0 if errors not defined.
ParamType originalType() const
virtual double cosThError() const override
FourMomentumError(const ErrorMatrixEEtaPhiM &, const FourMom &)
FourMomentumError(const ErrorMatrixPxPyPzE &, const FourMom &)
CxxUtils::CachedUniquePtr< ErrorMatrixEEtaPhiM > m_EEtaPhiM
virtual double pzError() const override
virtual double pxError() const override
The following methods correspond 1-to-1 to the I4Momentum methods, and provide the errors on the corr...
virtual double ptError() const override
virtual const ErrorMatrixEEtaPhiM * eEtaPhiMMatrix() const override
Access to EEtaPhiM error matrix, can return 0 if errors not defined.
virtual double cotThError() const override
virtual double iPtError() const override
virtual double mError() const override
virtual double etError() const override
CxxUtils::CachedUniquePtr< ErrorMatrixPtEtaPhiM > m_PtEtaPhiM
bool computePxPyPzEMatrix() const
FourMomentumError(const FourMomentumError &other)
virtual double pyError() const override
virtual double phiError() const override
FourMomentumError & operator=(const FourMomentumError &other)
virtual double pError() const override
double sqr(double x) const
virtual double sinThError() const override
virtual double m2Error() const override
virtual double tanThError() const override
virtual double rapidityError() const override
bool computePtEtaPhiMMatrix() const
CxxUtils::CachedUniquePtr< ErrorMatrixPxPyPzE > m_PxPyPzE
CxxUtils::CachedUniquePtr< ErrorMatrixPtCotThPhiM > m_PtCotThPhiM
bool computeEEtaPhiMMatrix() const
virtual double cosPhiError() const override
virtual double eError() const override
virtual const ErrorMatrixPtEtaPhiM * ptEtaPhiMMatrix() const override
Access to PtEtaPhiM error matrix, can return 0 if errors not defined.
CachedUniquePtrT< const T > CachedUniquePtr