3#ifndef EICD_MutableTrackParameters_H
4#define EICD_MutableTrackParameters_H
12#include "edm4hep/Vector2f.h"
14#include "podio/ObjectID.h"
17#ifdef PODIO_JSON_OUTPUT
18#include "nlohmann/json.hpp"
24class MutableTrajectory;
68 const std::int32_t&
getType()
const;
71 const edm4hep::Vector2f&
getLoc()
const;
80 const float&
getPhi()
const;
102 void setType(std::int32_t value);
105 void setLoc(edm4hep::Vector2f value);
107 edm4hep::Vector2f&
loc();
161 swap(a.m_obj, b.m_obj);
168#ifdef PODIO_JSON_OUTPUT
169void to_json(nlohmann::json& j,
const MutableTrackParameters& value);
Definition: MutableTrackParameters.h:35
const float & getQOverP() const
Access the [e/GeV].
Definition: MutableTrackParameters.cc:66
void setTrajectory(eicd::Trajectory value)
Set the Trajectory associated with these track parameters.
Definition: MutableTrackParameters.cc:94
void setTimeError(float value)
Set the Error on the time.
Definition: MutableTrackParameters.cc:91
void setLoc(edm4hep::Vector2f value)
Set the 2D location on surface.
Definition: MutableTrackParameters.cc:81
void setTheta(float value)
Set the Track polar angle [rad].
Definition: MutableTrackParameters.cc:85
edm4hep::Vector2f & loc()
Get reference to 2D location on surface.
Definition: MutableTrackParameters.cc:82
bool operator<(const MutableTrackParameters &other) const
Definition: MutableTrackParameters.h:153
void setTime(float value)
Set the Track time [ns].
Definition: MutableTrackParameters.cc:90
~MutableTrackParameters()
destructor
Definition: MutableTrackParameters.cc:54
const eicd::Cov2f & getLocError() const
Access the Covariance on loc.
Definition: MutableTrackParameters.cc:63
void setCharge(float value)
Set the Particle charge.
Definition: MutableTrackParameters.cc:92
const edm4hep::Vector2f & getLoc() const
Access the 2D location on surface.
Definition: MutableTrackParameters.cc:62
const eicd::Cov3f & getMomentumError() const
Access the Covariance on theta, phi and qOverP.
Definition: MutableTrackParameters.cc:67
const eicd::Trajectory getTrajectory() const
Access the Trajectory associated with these track parameters.
Definition: MutableTrackParameters.cc:72
const float & getPhi() const
Access the Track azimuthal angle [rad].
Definition: MutableTrackParameters.cc:65
void setLocError(eicd::Cov2f value)
Set the Covariance on loc.
Definition: MutableTrackParameters.cc:83
const float & getCharge() const
Access the Particle charge.
Definition: MutableTrackParameters.cc:70
bool isAvailable() const
check whether the object is actually available
Definition: MutableTrackParameters.cc:107
unsigned int id() const
Definition: MutableTrackParameters.h:155
bool operator==(const MutableTrackParameters &other) const
Definition: MutableTrackParameters.h:149
void setType(std::int32_t value)
Set the Type of track parameters (-1/seed, 0/head, ...)
Definition: MutableTrackParameters.cc:80
void setPhi(float value)
Set the Track azimuthal angle [rad].
Definition: MutableTrackParameters.cc:86
friend class TrackParameters
Definition: MutableTrackParameters.h:39
MutableTrackParameters & operator=(MutableTrackParameters other)
copy-assignment operator
Definition: MutableTrackParameters.cc:39
friend void swap(MutableTrackParameters &a, MutableTrackParameters &b)
Definition: MutableTrackParameters.h:159
void setQOverP(float value)
Set the [e/GeV].
Definition: MutableTrackParameters.cc:87
const float & getTime() const
Access the Track time [ns].
Definition: MutableTrackParameters.cc:68
const std::int32_t & getType() const
Access the Type of track parameters (-1/seed, 0/head, ...)
Definition: MutableTrackParameters.cc:61
eicd::Cov3f & momentumError()
Get reference to Covariance on theta, phi and qOverP.
Definition: MutableTrackParameters.cc:89
const float & getTheta() const
Access the Track polar angle [rad].
Definition: MutableTrackParameters.cc:64
const float & getTimeError() const
Access the Error on the time.
Definition: MutableTrackParameters.cc:69
void unlink()
disconnect from TrackParametersObj instance
Definition: MutableTrackParameters.h:147
MutableTrackParameters()
default constructor
Definition: MutableTrackParameters.cc:17
MutableTrackParameters clone() const
create a mutable deep-copy of the object with identical relations
Definition: MutableTrackParameters.cc:50
eicd::Cov2f & locError()
Get reference to Covariance on loc.
Definition: MutableTrackParameters.cc:84
const podio::ObjectID getObjectID() const
Definition: MutableTrackParameters.cc:114
void setMomentumError(eicd::Cov3f value)
Set the Covariance on theta, phi and qOverP.
Definition: MutableTrackParameters.cc:88
Definition: TrackParametersCollection.h:82
Definition: TrackParameters.h:34
Definition: TrackParametersCollection.h:57
Definition: TrackParametersObj.h:21
Definition: Trajectory.h:34
Definition: CalorimeterHit.cc:13