3#ifndef EICD_TrackParameters_H
4#define EICD_TrackParameters_H
10#include "edm4hep/Vector2f.h"
12#include "podio/ObjectID.h"
15#ifdef PODIO_JSON_OUTPUT
16#include "nlohmann/json.hpp"
22class MutableTrajectory;
28class MutableTrackParameters;
43 TrackParameters(std::int32_t type, edm4hep::Vector2f loc,
eicd::Cov2f locError,
float theta,
float phi,
float qOverP,
eicd::Cov3f momentumError,
float time,
float timeError,
float charge);
64 const std::int32_t&
getType()
const;
67 const edm4hep::Vector2f&
getLoc()
const;
76 const float&
getPhi()
const;
116 swap(a.m_obj, b.m_obj);
123std::ostream&
operator<<(std::ostream& o,
const TrackParameters& value);
125#ifdef PODIO_JSON_OUTPUT
126void to_json(nlohmann::json& j,
const TrackParameters& value);
Definition: MutableTrackParameters.h:35
Definition: TrackParametersCollection.h:82
Definition: TrackParametersCollection.h:35
Definition: TrackParameters.h:34
friend void swap(TrackParameters &a, TrackParameters &b)
Definition: TrackParameters.h:114
const float & getTime() const
Access the Track time [ns].
Definition: TrackParameters.cc:67
const float & getQOverP() const
Access the [e/GeV].
Definition: TrackParameters.cc:65
const std::int32_t & getType() const
Access the Type of track parameters (-1/seed, 0/head, ...)
Definition: TrackParameters.cc:60
bool operator==(const TrackParameters &other) const
Definition: TrackParameters.h:104
unsigned int id() const
Definition: TrackParameters.h:110
const eicd::Trajectory getTrajectory() const
Access the Trajectory associated with these track parameters.
Definition: TrackParameters.cc:71
const podio::ObjectID getObjectID() const
Definition: TrackParameters.cc:90
const float & getTheta() const
Access the Track polar angle [rad].
Definition: TrackParameters.cc:63
const edm4hep::Vector2f & getLoc() const
Access the 2D location on surface.
Definition: TrackParameters.cc:61
TrackParameters & operator=(TrackParameters other)
copy-assignment operator
Definition: TrackParameters.cc:39
const float & getPhi() const
Access the Track azimuthal angle [rad].
Definition: TrackParameters.cc:64
const float & getCharge() const
Access the Particle charge.
Definition: TrackParameters.cc:69
bool isAvailable() const
check whether the object is actually available
Definition: TrackParameters.cc:83
const eicd::Cov2f & getLocError() const
Access the Covariance on loc.
Definition: TrackParameters.cc:62
~TrackParameters()
destructor
Definition: TrackParameters.cc:54
MutableTrackParameters clone() const
create a mutable deep-copy of the object with identical relations
Definition: TrackParameters.cc:50
bool operator<(const TrackParameters &other) const
Definition: TrackParameters.h:108
void unlink()
disconnect from TrackParametersObj instance
Definition: TrackParameters.h:102
const float & getTimeError() const
Access the Error on the time.
Definition: TrackParameters.cc:68
const eicd::Cov3f & getMomentumError() const
Access the Covariance on theta, phi and qOverP.
Definition: TrackParameters.cc:66
TrackParameters()
default constructor
Definition: TrackParameters.cc:17
Definition: TrackParametersObj.h:21
Definition: Trajectory.h:34
Definition: CalorimeterHit.cc:13
std::ostream & operator<<(std::ostream &o, const CalorimeterHit &value)
Definition: CalorimeterHit.cc:93