3#ifndef EDM4EIC_MutableInclusiveKinematics_H
4#define EDM4EIC_MutableInclusiveKinematics_H
11#include "podio/utilities/MaybeSharedPtr.h"
16#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
17#include "nlohmann/json_fwd.hpp"
22class ReconstructedParticle;
23class MutableReconstructedParticle;
88 void setX(
float value);
91 void setQ2(
float value);
94 void setW(
float value);
97 void setY(
float value);
100 void setNu(
float value);
112 void unlink() { m_obj = podio::utils::MaybeSharedPtr<InclusiveKinematicsObj>{
nullptr}; }
126 swap(a.m_obj, b.m_obj);
133 podio::utils::MaybeSharedPtr<InclusiveKinematicsObj> m_obj{
nullptr};
136#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
137void to_json(nlohmann::json& j,
const MutableInclusiveKinematics& value);
Definition InclusiveKinematicsCollection.h:95
Definition InclusiveKinematics.h:35
Definition InclusiveKinematicsCollection.h:66
Definition MutableInclusiveKinematics.h:34
MutableInclusiveKinematics()
default constructor
Definition MutableInclusiveKinematics.cc:22
float getNu() const
Access the Energy transfer P.q/M [GeV].
Definition MutableInclusiveKinematics.cc:50
void setW(float value)
Set the Invariant mass of final state [GeV].
Definition MutableInclusiveKinematics.cc:62
MutableInclusiveKinematics & operator=(MutableInclusiveKinematics other)
copy-assignment operator
Definition MutableInclusiveKinematics.cc:34
float getX() const
Access the Bjorken x (Q2/2P.q)
Definition MutableInclusiveKinematics.cc:46
void setNu(float value)
Set the Energy transfer P.q/M [GeV].
Definition MutableInclusiveKinematics.cc:64
MutableInclusiveKinematics(const MutableInclusiveKinematics &other)=default
copy constructor
void setX(float value)
Set the Bjorken x (Q2/2P.q)
Definition MutableInclusiveKinematics.cc:60
float getY() const
Access the Inelasticity (P.q/P.k)
Definition MutableInclusiveKinematics.cc:49
void unlink()
disconnect from InclusiveKinematicsObj instance
Definition MutableInclusiveKinematics.h:112
podio::ObjectID id() const
Definition MutableInclusiveKinematics.h:120
friend class InclusiveKinematicsCollection
Definition MutableInclusiveKinematics.h:36
bool isAvailable() const
check whether the object is actually available
Definition MutableInclusiveKinematics.cc:79
bool operator==(const MutableInclusiveKinematics &other) const
Definition MutableInclusiveKinematics.h:114
void setScat(edm4eic::ReconstructedParticle value)
Set the Associated scattered electron (if identified)
Definition MutableInclusiveKinematics.cc:66
bool operator<(const MutableInclusiveKinematics &other) const
Definition MutableInclusiveKinematics.h:118
~MutableInclusiveKinematics()=default
destructor
void setY(float value)
Set the Inelasticity (P.q/P.k)
Definition MutableInclusiveKinematics.cc:63
const podio::ObjectID getObjectID() const
Definition MutableInclusiveKinematics.cc:86
float getQ2() const
Access the Four-momentum transfer squared [GeV^2].
Definition MutableInclusiveKinematics.cc:47
friend class InclusiveKinematics
Definition MutableInclusiveKinematics.h:38
friend void swap(MutableInclusiveKinematics &a, MutableInclusiveKinematics &b)
Definition MutableInclusiveKinematics.h:124
float getW() const
Access the Invariant mass of final state [GeV].
Definition MutableInclusiveKinematics.cc:48
const edm4eic::ReconstructedParticle getScat() const
Access the Associated scattered electron (if identified)
Definition MutableInclusiveKinematics.cc:52
MutableInclusiveKinematics clone() const
create a mutable deep-copy of the object with identical relations
Definition MutableInclusiveKinematics.cc:39
void setQ2(float value)
Set the Four-momentum transfer squared [GeV^2].
Definition MutableInclusiveKinematics.cc:61
Definition ReconstructedParticle.h:47
Definition CalorimeterHit.cc:18