3#ifndef EDM4EIC_MutableTrackParameters_H
4#define EDM4EIC_MutableTrackParameters_H
11#include "edm4hep/Vector2f.h"
14#include "podio/utilities/MaybeSharedPtr.h"
19#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
20#include "nlohmann/json_fwd.hpp"
73 const edm4hep::Vector2f&
getLoc()
const;
88 std::int32_t
getPdg()
const;
96 void setType(std::int32_t value);
102 void setLoc(edm4hep::Vector2f value);
104 edm4hep::Vector2f&
loc();
119 void setPdg(std::int32_t value);
134 void unlink() { m_obj = podio::utils::MaybeSharedPtr<TrackParametersObj>{
nullptr}; }
148 swap(a.m_obj, b.m_obj);
155 podio::utils::MaybeSharedPtr<TrackParametersObj> m_obj{
nullptr};
158#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
159void to_json(nlohmann::json& j,
const MutableTrackParameters& value);
Definition MutableTrackParameters.h:32
void setCovariance(edm4eic::Cov6f value)
Set the Full covariance in basis [l0,l1,theta,phi,q/p,t].
Definition MutableTrackParameters.cc:69
bool isAvailable() const
check whether the object is actually available
Definition MutableTrackParameters.cc:78
void setTime(float value)
Set the Track time [ns].
Definition MutableTrackParameters.cc:67
float getQOverP() const
Access the [e/GeV].
Definition MutableTrackParameters.cc:54
void setSurface(std::uint64_t value)
Set the Surface for bound parameters (geometryID)
Definition MutableTrackParameters.cc:61
void setPhi(float value)
Set the Track azimuthal angle [rad].
Definition MutableTrackParameters.cc:65
void setLoc(edm4hep::Vector2f value)
Set the 2D location on surface.
Definition MutableTrackParameters.cc:62
void unlink()
disconnect from TrackParametersObj instance
Definition MutableTrackParameters.h:134
MutableTrackParameters clone() const
create a mutable deep-copy of the object with identical relations
Definition MutableTrackParameters.cc:42
podio::ObjectID id() const
Definition MutableTrackParameters.h:142
const podio::ObjectID getObjectID() const
Definition MutableTrackParameters.cc:85
edm4hep::Vector2f & loc()
Get reference to 2D location on surface.
Definition MutableTrackParameters.cc:63
MutableTrackParameters(const MutableTrackParameters &other)=default
copy constructor
bool operator<(const MutableTrackParameters &other) const
Definition MutableTrackParameters.h:140
void setTheta(float value)
Set the Track polar angle [rad].
Definition MutableTrackParameters.cc:64
MutableTrackParameters & operator=(MutableTrackParameters other)
copy-assignment operator
Definition MutableTrackParameters.cc:37
bool operator==(const MutableTrackParameters &other) const
Definition MutableTrackParameters.h:136
edm4eic::Cov6f & covariance()
Get reference to Full covariance in basis [l0,l1,theta,phi,q/p,t].
Definition MutableTrackParameters.cc:70
void setQOverP(float value)
Set the [e/GeV].
Definition MutableTrackParameters.cc:66
std::int32_t getPdg() const
Access the pdg pid for these parameters.
Definition MutableTrackParameters.cc:56
std::uint64_t getSurface() const
Access the Surface for bound parameters (geometryID)
Definition MutableTrackParameters.cc:50
void setType(std::int32_t value)
Set the Type of track parameters (-1/seed, 0/head, ...)
Definition MutableTrackParameters.cc:60
friend class TrackParameters
Definition MutableTrackParameters.h:36
const edm4hep::Vector2f & getLoc() const
Access the 2D location on surface.
Definition MutableTrackParameters.cc:51
const edm4eic::Cov6f & getCovariance() const
Access the Full covariance in basis [l0,l1,theta,phi,q/p,t].
Definition MutableTrackParameters.cc:57
friend void swap(MutableTrackParameters &a, MutableTrackParameters &b)
Definition MutableTrackParameters.h:146
~MutableTrackParameters()=default
destructor
float getTheta() const
Access the Track polar angle [rad].
Definition MutableTrackParameters.cc:52
float getPhi() const
Access the Track azimuthal angle [rad].
Definition MutableTrackParameters.cc:53
void setPdg(std::int32_t value)
Set the pdg pid for these parameters.
Definition MutableTrackParameters.cc:68
float getTime() const
Access the Track time [ns].
Definition MutableTrackParameters.cc:55
friend class TrackParametersCollection
Definition MutableTrackParameters.h:34
MutableTrackParameters()
default constructor
Definition MutableTrackParameters.cc:21
std::int32_t getType() const
Access the Type of track parameters (-1/seed, 0/head, ...)
Definition MutableTrackParameters.cc:49
Definition TrackParametersCollection.h:95
Definition TrackParameters.h:33
Definition TrackParametersCollection.h:66
Definition CalorimeterHit.cc:18