ATLAS Offline Software
Loading...
Searching...
No Matches
NeutralParticle_v1.h
Go to the documentation of this file.
1// Dear emacs, this is -*- c++ -*-
2
3/*
4 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
5*/
6
7#ifndef XAODTRACKING_VERSIONS_NEUTRALPARTICLE_V1_H
8#define XAODTRACKING_VERSIONS_NEUTRALPARTICLE_V1_H
9
11
12// Athena includes
13#include "AthLinks/ElementLink.h"
15
16// xAOD include(s):
17#include "xAODBase/IParticle.h"
20
21#include <bitset>
22#include <stdint.h>
23
24#ifndef XAOD_ANALYSIS
26#endif // not XAOD_ANALYSIS
27
28// ROOT include(s):
29#include "Math/Vector4D.h"
30
31//Already include the DataVector specialization for this type
33
34namespace xAOD {
39
41
42 public:
43
52
56 virtual double pt() const;
58 virtual double eta() const;
60 virtual double phi() const;
62 virtual double m() const;
64 virtual double e() const;
66 virtual double rapidity() const;
67
70
72 virtual FourMom_t p4() const;
73
75 typedef ROOT::Math::LorentzVector<ROOT::Math::PxPyPzM4D<double> > GenVecFourMom_t;
76
79
81 virtual Type::ObjectType type() const;
83
92
94 float d0() const;
96 float z0() const;
98 float phi0() const;
100 float theta() const;
102 float oneOverP() const;
106 const DefiningParameters_t definingParameters() const;
108 const ParametersCovMatrix_t definingParametersCovMatrix() const;
110 const std::vector<float>& definingParametersCovMatrixVec() const;
111
113 void setDefiningParameters(float d0, float z0, float phi0, float theta, float qOverP);
115 void setDefiningParametersCovMatrix(const ParametersCovMatrix_t& cov);
117 void setDefiningParametersCovMatrixVec(const std::vector<float>& cov);
118
120 float vx() const;
122 float vy() const;
124 float vz() const;
126 void setParametersOrigin(float x, float y, float z);
127
128#ifndef XAOD_ANALYSIS
135#endif // not XAOD_ANALYSIS
136
138 void resetCache();
139
140 private:
141#if ( ! defined(XAOD_ANALYSIS) ) && ( ! defined(__CLING__) )
145#endif // not XAOD_ANALYSIS and not __CLING__
146
147 }; // class NeutralParticle_v1
148
149} // namespace xAOD
150
151// Finish declaration of IParticle as a base class of NeutralParticle_v1
153
154
155#endif // XAODTRACKING_VERSIONS_NEUTRALPARTICLE_V1_H
Cached value with atomic update.
An STL vector of pointers that by default owns its pointed-to elements.
#define DATAVECTOR_BASE_FIN(T, B)
Used to finish up a forward declaration.
Definition DataVector.h:774
#define y
#define x
#define z
Cached value with atomic update.
Definition CachedValue.h:55
Class providing the definition of the 4-vector interface.
IParticle()=default
TLorentzVector FourMom_t
Definition of the 4-momentum type.
Class describing a NeutralParticle.
const Trk::NeutralPerigee & perigeeParameters() const
Returns the Trk::NeutralPerigee track parameters.
float d0() const
Returns the parameter.
const DefiningParameters_t definingParameters() const
Returns a SVector of the Perigee track parameters.
float oneOverP() const
Returns the parameter.
void setDefiningParametersCovMatrixVec(const std::vector< float > &cov)
Set the defining parameters covariance matrix using a length 15 vector.
const ParametersCovMatrix_t definingParametersCovMatrix() const
Returns the 5x5 symmetric matrix containing the defining parameters covariance matrix.
float theta() const
Returns the parameter, which has range 0 to .
float vz() const
The z origin for the parameters.
virtual double m() const
The invariant mass of the particle..
void resetCache()
Reset the internal cache of the object.
virtual double pt() const
The transverse momentum ( ) of the particle.
NeutralParticle_v1 & operator=(const NeutralParticle_v1 &tp)
Assignment operator. This can involve creating and copying an Auxilary store, and so should be used s...
void setDefiningParameters(float d0, float z0, float phi0, float theta, float qOverP)
Set the defining parameters.
IParticle::FourMom_t FourMom_t
Definition of the 4-momentum type.
virtual Type::ObjectType type() const
The type of the object as a simple enumeration.
void setDefiningParametersCovMatrix(const ParametersCovMatrix_t &cov)
Set the defining parameters covariance matrix.
virtual FourMom_t p4() const
The full 4-momentum of the particle.
float phi0() const
Returns the parameter, which has range to .
CxxUtils::CachedValue< Trk::NeutralPerigee > m_perigeeParameters
Cached NeutralPerigee, built from this object.
float vx() const
The x origin for the parameters.
NeutralParticle_v1()
Default constructor.
virtual double eta() const
The pseudorapidity ( ) of the particle.
virtual double e() const
The total energy of the particle.
virtual double phi() const
The azimuthal angle ( ) of the particle.
void setParametersOrigin(float x, float y, float z)
Set the origin for the parameters.
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzM4D< double > > GenVecFourMom_t
Base 4 Momentum type for TrackParticle.
GenVecFourMom_t genvecP4() const
The full 4-momentum of the particle : GenVector form.
const std::vector< float > & definingParametersCovMatrixVec() const
Returns the vector of the covariance values - 15 elements.
float vy() const
The y origin for the parameters.
float z0() const
Returns the parameter.
virtual double rapidity() const
The true rapidity (y) of the particle.
ParametersT< NeutralParametersDim, Neutral, PerigeeSurface > NeutralPerigee
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.