3#ifndef EDM4EIC_MutableInclusiveKinematics_H
4#define EDM4EIC_MutableInclusiveKinematics_H
11#include "podio/utilities/MaybeSharedPtr.h"
15#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
16#include "nlohmann/json_fwd.hpp"
87 void setX(
const float x);
91 [[deprecated(
"use getX instead")]]
99 [[deprecated(
"use getQ2 instead")]]
103 void setW(
const float W);
107 [[deprecated(
"use getW instead")]]
111 void setY(
const float y);
115 [[deprecated(
"use getY instead")]]
123 [[deprecated(
"use getNu instead")]]
136 void unlink() { m_obj = podio::utils::MaybeSharedPtr<InclusiveKinematicsObj>{
nullptr}; }
151 friend std::hash<MutableInclusiveKinematics>;
155 swap(a.m_obj, b.m_obj);
162 podio::utils::MaybeSharedPtr<InclusiveKinematicsObj> m_obj{
new InclusiveKinematicsObj{}, podio::utils::MarkOwned};
165#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
175struct std::hash<
edm4eic::MutableInclusiveKinematics> {
177 return std::hash<edm4eic::InclusiveKinematicsObj*>{}(obj.m_obj.get());
Definition InclusiveKinematicsCollection.h:138
Definition InclusiveKinematics.h:42
Definition InclusiveKinematicsObj.h:21
Definition MutableInclusiveKinematics.h:34
void setW(const float W)
Set the Invariant mass of final state [GeV].
Definition MutableInclusiveKinematics.cc:62
float getNu() const
Access the Energy transfer P.q/M [GeV].
Definition MutableInclusiveKinematics.cc:46
void setNu(const float nu)
Set the Energy transfer P.q/M [GeV].
Definition MutableInclusiveKinematics.cc:68
friend class InclusiveKinematicsMutableCollectionIterator
Definition MutableInclusiveKinematics.h:37
InclusiveKinematics object_type
Definition MutableInclusiveKinematics.h:41
float & x()
Get reference to Bjorken x (Q2/2P.q)
Definition MutableInclusiveKinematics.cc:58
float getX() const
Access the Bjorken x (Q2/2P.q)
Definition MutableInclusiveKinematics.cc:42
float & Q2()
Get reference to Four-momentum transfer squared [GeV^2].
Definition MutableInclusiveKinematics.cc:61
MutableInclusiveKinematics(const MutableInclusiveKinematics &other)=default
copy constructor
MutableInclusiveKinematics & operator=(MutableInclusiveKinematics other) &
copy-assignment operator
Definition MutableInclusiveKinematics.cc:27
bool operator!=(const InclusiveKinematics &other) const
Definition MutableInclusiveKinematics.h:142
float & y()
Get reference to Inelasticity (P.q/P.k)
Definition MutableInclusiveKinematics.cc:67
float getY() const
Access the Inelasticity (P.q/P.k)
Definition MutableInclusiveKinematics.cc:45
void unlink()
disconnect from InclusiveKinematicsObj instance
Definition MutableInclusiveKinematics.h:136
void setY(const float y)
Set the Inelasticity (P.q/P.k)
Definition MutableInclusiveKinematics.cc:65
podio::ObjectID id() const
Definition MutableInclusiveKinematics.h:147
MutableInclusiveKinematics()=default
default constructor
friend class InclusiveKinematicsCollection
Definition MutableInclusiveKinematics.h:36
MutableInclusiveKinematics clone(bool cloneRelations=true) const
Definition MutableInclusiveKinematics.cc:32
bool isAvailable() const
check whether the object is actually available
Definition MutableInclusiveKinematics.cc:82
bool operator==(const MutableInclusiveKinematics &other) const
Definition MutableInclusiveKinematics.h:138
InclusiveKinematicsCollection collection_type
Definition MutableInclusiveKinematics.h:42
bool operator<(const MutableInclusiveKinematics &other) const
Definition MutableInclusiveKinematics.h:145
~MutableInclusiveKinematics()=default
destructor
void setX(const float x)
Set the Bjorken x (Q2/2P.q)
Definition MutableInclusiveKinematics.cc:56
const podio::ObjectID getObjectID() const
Definition MutableInclusiveKinematics.cc:86
float getQ2() const
Access the Four-momentum transfer squared [GeV^2].
Definition MutableInclusiveKinematics.cc:43
friend class InclusiveKinematics
Definition MutableInclusiveKinematics.h:38
friend void swap(MutableInclusiveKinematics &a, MutableInclusiveKinematics &b)
Definition MutableInclusiveKinematics.h:153
float getW() const
Access the Invariant mass of final state [GeV].
Definition MutableInclusiveKinematics.cc:44
float & W()
Get reference to Invariant mass of final state [GeV].
Definition MutableInclusiveKinematics.cc:64
bool operator!=(const MutableInclusiveKinematics &other) const
Definition MutableInclusiveKinematics.h:141
const edm4eic::ReconstructedParticle getScat() const
Access the Associated scattered electron (if identified)
Definition MutableInclusiveKinematics.cc:48
float & nu()
Get reference to Energy transfer P.q/M [GeV].
Definition MutableInclusiveKinematics.cc:70
MutableInclusiveKinematics & operator=(MutableInclusiveKinematics other) &&=delete
void setQ2(const float Q2)
Set the Four-momentum transfer squared [GeV^2].
Definition MutableInclusiveKinematics.cc:59
void setScat(const edm4eic::ReconstructedParticle &value)
Set the Associated scattered electron (if identified)
Definition MutableInclusiveKinematics.cc:72
Definition MutableReconstructedParticle.h:46
Definition ReconstructedParticle.h:54
Definition CalorimeterHit.cc:17
OrderKey getOrderKey(const edm4eic::CalorimeterHit &obj)
Definition CalorimeterHit.cc:146
std::size_t operator()(const edm4eic::MutableInclusiveKinematics &obj) const
Definition MutableInclusiveKinematics.h:176