30 if(
this == &tp)
return *
this;
68 float thetaT =
theta();
70 float sinTheta= sin(thetaT);
71 float px = p*sinTheta*cos(phiT);
72 float py = p*sinTheta*sin(phiT);
73 float pz = p*cos(thetaT);
81 float thetaT =
theta();
83 float sinTheta= sin(thetaT);
84 float px = p*sinTheta*cos(phiT);
85 float py = p*sinTheta*sin(phiT);
86 float pz = p*cos(thetaT);
87 float e =
pow (
m(),2) +
89 p4.SetPxPyPzE( px,
py, pz, sqrt(
e) );
94 return Type::NeutralParticle;
105 DefiningParameters_t tmp;
123 acc3( *
this ) =
phi0;
126 acc4( *
this ) =
theta;
142 std::vector<float>& v =
acc(*
this);
144 for (
size_t irow = 0; irow<5; ++irow)
145 for (
size_t icol =0; icol<=irow; ++icol)
146 v.push_back(cov(icol,irow));
151 std::vector<float> v =
acc(*
this);
152 std::vector<float>::const_iterator it = v.begin();
153 xAOD::ParametersCovMatrix_t cov;
155 for (
size_t irow = 0; irow<5; ++irow){
156 for (
size_t icol =0; icol<=irow; ++icol){
157 cov.fillSymmetric(icol,irow, *it++);
201 ParametersCovMatrix_t cov;
203 auto it= acc6(*this).begin();
204 for (
size_t irow = 0; irow<5; ++irow){
205 for (
size_t icol =0; icol<=irow; ++icol){
206 cov.fillSymmetric(irow,icol,*it++) ;
209 Trk::NeutralPerigee tmpPerigeeParameters(acc1(*
this),acc2(*
this),acc3(*
this),acc4(*
this),acc5(*
this),
Scalar theta() const
theta method
#define AUXSTORE_PRIMITIVE_GETTER_WITH_CAST(CL, PERSTYPE, TRANSTYPE, NAME)
Macro creating a getter function with a type conversion.
#define AUXSTORE_PRIMITIVE_GETTER(CL, TYPE, NAME)
Macro creating the reader function for a primitive auxiliary property.
A number of constexpr particle constants to avoid hardcoding them directly in various places.
constexpr int pow(int base, int exp) noexcept
void makePrivateStore()
Create a new (empty) private store for this object.
bool hasStore() const
Return true if this object has an associated store.
Class describing the Line to which the Perigee refers to.
IParticle & operator=(const IParticle &)=default
SG::Accessor< T, ALLOC > Accessor
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.
~NeutralParticle_v1()
Destructor.
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.
Eigen::Matrix< double, 3, 1 > Vector3D
constexpr double chargedPionMassInMeV
the mass of the charged pion (in MeV)
ParametersT< NeutralParametersDim, Neutral, PerigeeSurface > NeutralPerigee
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
static const SG::AuxElement::Accessor< ElementLink< IParticleContainer > > acc("originalObjectLink")
Object used for setting/getting the dynamic decoration in question.