3#ifndef EDM4EIC_InclusiveKinematics_H
4#define EDM4EIC_InclusiveKinematics_H
9#include "podio/utilities/MaybeSharedPtr.h"
14#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
15#include "nlohmann/json_fwd.hpp"
20class ReconstructedParticle;
21class MutableReconstructedParticle;
27class MutableInclusiveKinematics;
28class InclusiveKinematicsCollection;
29class InclusiveKinematicsCollectionData;
93 void unlink() { m_obj = podio::utils::MaybeSharedPtr<InclusiveKinematicsObj>{
nullptr}; }
107 swap(a.m_obj, b.m_obj);
115 podio::utils::MaybeSharedPtr<InclusiveKinematicsObj> m_obj{
nullptr};
118std::ostream&
operator<<(std::ostream& o,
const InclusiveKinematics& value);
120#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
121void to_json(nlohmann::json& j,
const InclusiveKinematics& value);
Definition InclusiveKinematicsCollectionData.h:31
Definition InclusiveKinematicsCollection.h:95
Definition InclusiveKinematicsCollection.h:40
Definition InclusiveKinematics.h:35
InclusiveKinematics & operator=(InclusiveKinematics other)
copy-assignment operator
Definition InclusiveKinematics.cc:34
friend void swap(InclusiveKinematics &a, InclusiveKinematics &b)
Definition InclusiveKinematics.h:105
InclusiveKinematics(const InclusiveKinematics &other)=default
copy constructor
float getY() const
Access the Inelasticity (P.q/P.k)
Definition InclusiveKinematics.cc:54
float getX() const
Access the Bjorken x (Q2/2P.q)
Definition InclusiveKinematics.cc:51
float getW() const
Access the Invariant mass of final state [GeV].
Definition InclusiveKinematics.cc:53
friend class InclusiveKinematicsCollection
Definition InclusiveKinematics.h:38
InclusiveKinematics()
default constructor
Definition InclusiveKinematics.cc:22
float getQ2() const
Access the Four-momentum transfer squared [GeV^2].
Definition InclusiveKinematics.cc:52
const edm4eic::ReconstructedParticle getScat() const
Access the Associated scattered electron (if identified)
Definition InclusiveKinematics.cc:57
bool isAvailable() const
check whether the object is actually available
Definition InclusiveKinematics.cc:69
friend class MutableInclusiveKinematics
Definition InclusiveKinematics.h:37
float getNu() const
Access the Energy transfer P.q/M [GeV].
Definition InclusiveKinematics.cc:55
static InclusiveKinematics makeEmpty()
Definition InclusiveKinematics.cc:47
MutableInclusiveKinematics clone() const
create a mutable deep-copy of the object with identical relations
Definition InclusiveKinematics.cc:39
void unlink()
disconnect from InclusiveKinematicsObj instance
Definition InclusiveKinematics.h:93
bool operator<(const InclusiveKinematics &other) const
Definition InclusiveKinematics.h:99
podio::ObjectID id() const
Definition InclusiveKinematics.h:101
bool operator==(const InclusiveKinematics &other) const
Definition InclusiveKinematics.h:95
const podio::ObjectID getObjectID() const
Definition InclusiveKinematics.cc:76
~InclusiveKinematics()=default
destructor
Definition InclusiveKinematicsObj.h:21
Definition MutableInclusiveKinematics.h:34
Definition ReconstructedParticle.h:47
Definition CalorimeterHit.cc:18
std::ostream & operator<<(std::ostream &o, const CalorimeterHit &value)
Definition CalorimeterHit.cc:97