3#ifndef EDM4EIC_MutableTrackParameters_H
4#define EDM4EIC_MutableTrackParameters_H
11#include "edm4hep/Vector2f.h"
14#include "podio/utilities/MaybeSharedPtr.h"
18#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
19#include "nlohmann/json_fwd.hpp"
70 const edm4hep::Vector2f&
getLoc()
const;
85 std::int32_t
getPdg()
const;
93 void setType(std::int32_t value);
97 [[deprecated(
"use getType instead")]]
105 [[deprecated(
"use getSurface instead")]]
109 void setLoc(edm4hep::Vector2f value);
111 edm4hep::Vector2f&
getLoc();
113 [[deprecated(
"use getLoc instead")]]
114 edm4hep::Vector2f&
loc();
121 [[deprecated(
"use getTheta instead")]]
129 [[deprecated(
"use getPhi instead")]]
137 [[deprecated(
"use getQOverP instead")]]
145 [[deprecated(
"use getTime instead")]]
149 void setPdg(std::int32_t value);
153 [[deprecated(
"use getPdg instead")]]
161 [[deprecated(
"use getCovariance instead")]]
172 void unlink() { m_obj = podio::utils::MaybeSharedPtr<TrackParametersObj>{
nullptr}; }
189 swap(a.m_obj, b.m_obj);
196 podio::utils::MaybeSharedPtr<TrackParametersObj> m_obj{
nullptr};
199#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
200void to_json(nlohmann::json& j,
const MutableTrackParameters& value);
Definition MutableTrackParameters.h:31
void setCovariance(edm4eic::Cov6f value)
Set the Full covariance in basis [l0,l1,theta,phi,q/p,t].
Definition MutableTrackParameters.cc:84
bool isAvailable() const
check whether the object is actually available
Definition MutableTrackParameters.cc:94
void setTime(float value)
Set the Track time [ns].
Definition MutableTrackParameters.cc:78
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:63
void setPhi(float value)
Set the Track azimuthal angle [rad].
Definition MutableTrackParameters.cc:72
float & time()
Get reference to Track time [ns].
Definition MutableTrackParameters.cc:80
void setLoc(edm4hep::Vector2f value)
Set the 2D location on surface.
Definition MutableTrackParameters.cc:66
void unlink()
disconnect from TrackParametersObj instance
Definition MutableTrackParameters.h:172
podio::ObjectID id() const
Definition MutableTrackParameters.h:183
const podio::ObjectID getObjectID() const
Definition MutableTrackParameters.cc:98
edm4hep::Vector2f & loc()
Get reference to 2D location on surface.
Definition MutableTrackParameters.cc:68
bool operator!=(const TrackParameters &other) const
Definition MutableTrackParameters.h:178
MutableTrackParameters(const MutableTrackParameters &other)=default
copy constructor
bool operator<(const MutableTrackParameters &other) const
Definition MutableTrackParameters.h:181
void setTheta(float value)
Set the Track polar angle [rad].
Definition MutableTrackParameters.cc:69
MutableTrackParameters clone(bool cloneRelations=true) const
Definition MutableTrackParameters.cc:39
std::int32_t & pdg()
Get reference to pdg pid for these parameters.
Definition MutableTrackParameters.cc:83
bool operator!=(const MutableTrackParameters &other) const
Definition MutableTrackParameters.h:177
MutableTrackParameters & operator=(MutableTrackParameters other)
copy-assignment operator
Definition MutableTrackParameters.cc:34
bool operator==(const MutableTrackParameters &other) const
Definition MutableTrackParameters.h:174
edm4eic::Cov6f & covariance()
Get reference to Full covariance in basis [l0,l1,theta,phi,q/p,t].
Definition MutableTrackParameters.cc:86
void setQOverP(float value)
Set the [e/GeV].
Definition MutableTrackParameters.cc:75
std::uint64_t & surface()
Get reference to Surface for bound parameters (geometryID)
Definition MutableTrackParameters.cc:65
std::int32_t getPdg() const
Access the pdg pid for these parameters.
Definition MutableTrackParameters.cc:56
float & phi()
Get reference to Track azimuthal angle [rad].
Definition MutableTrackParameters.cc:74
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:35
const edm4hep::Vector2f & getLoc() const
Access the 2D location on surface.
Definition MutableTrackParameters.cc:51
std::int32_t & type()
Get reference to Type of track parameters (-1/seed, 0/head, ...)
Definition MutableTrackParameters.cc:62
float & qOverP()
Get reference to [e/GeV].
Definition MutableTrackParameters.cc:77
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:187
~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:81
float getTime() const
Access the Track time [ns].
Definition MutableTrackParameters.cc:55
friend class TrackParametersCollection
Definition MutableTrackParameters.h:33
MutableTrackParameters()
default constructor
Definition MutableTrackParameters.cc:18
float & theta()
Get reference to Track polar angle [rad].
Definition MutableTrackParameters.cc:71
std::int32_t getType() const
Access the Type of track parameters (-1/seed, 0/head, ...)
Definition MutableTrackParameters.cc:49
Definition TrackParametersCollection.h:92
Definition TrackParameters.h:33
Definition TrackParametersCollection.h:63
Definition CalorimeterHit.cc:17