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);
92 void setQ2(
const float Q2);
97 void setW(
const float W);
102 void setY(
const float y);
107 void setNu(
const float nu);
121 void unlink() { m_obj = podio::utils::MaybeSharedPtr<InclusiveKinematicsObj>{
nullptr}; }
136 friend std::hash<MutableInclusiveKinematics>;
140 swap(a.m_obj, b.m_obj);
147 podio::utils::MaybeSharedPtr<InclusiveKinematicsObj> m_obj{
new InclusiveKinematicsObj{}, podio::utils::MarkOwned};
150#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
160struct std::hash<
edm4eic::MutableInclusiveKinematics> {
162 return std::hash<edm4eic::InclusiveKinematicsObj*>{}(obj.m_obj.get());
Definition InclusiveKinematicsCollection.h:139
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:60
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:64
friend class InclusiveKinematicsMutableCollectionIterator
Definition MutableInclusiveKinematics.h:37
InclusiveKinematics object_type
Definition MutableInclusiveKinematics.h:41
float getX() const
Access the Bjorken x (Q2/2P.q).
Definition MutableInclusiveKinematics.cc:42
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:127
float getY() const
Access the Inelasticity (P.q/P.k).
Definition MutableInclusiveKinematics.cc:45
void unlink()
disconnect from InclusiveKinematicsObj instance
Definition MutableInclusiveKinematics.h:121
void setY(const float y)
Set the Inelasticity (P.q/P.k).
Definition MutableInclusiveKinematics.cc:62
podio::ObjectID id() const
Definition MutableInclusiveKinematics.h:132
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:77
InclusiveKinematicsCollection collection_type
Definition MutableInclusiveKinematics.h:42
bool operator<(const MutableInclusiveKinematics &other) const
Definition MutableInclusiveKinematics.h:130
constexpr bool operator==(const MutableInclusiveKinematics &other) const
Definition MutableInclusiveKinematics.h:123
~MutableInclusiveKinematics()=default
destructor
constexpr bool operator!=(const MutableInclusiveKinematics &other) const
Definition MutableInclusiveKinematics.h:126
void setX(const float x)
Set the Bjorken x (Q2/2P.q).
Definition MutableInclusiveKinematics.cc:56
const podio::ObjectID getObjectID() const
Definition MutableInclusiveKinematics.cc:81
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:138
float getW() const
Access the Invariant mass of final state [GeV].
Definition MutableInclusiveKinematics.cc:44
const edm4eic::ReconstructedParticle getScat() const
Access the Associated scattered electron (if identified).
Definition MutableInclusiveKinematics.cc:48
MutableInclusiveKinematics & operator=(MutableInclusiveKinematics other) &&=delete
void setQ2(const float Q2)
Set the Four-momentum transfer squared [GeV^2].
Definition MutableInclusiveKinematics.cc:58
void setScat(const edm4eic::ReconstructedParticle &value)
Set the Associated scattered electron (if identified).
Definition MutableInclusiveKinematics.cc:67
Definition MutableReconstructedParticle.h:46
Definition ReconstructedParticle.h:54
Definition ArrowMapper.cc:61
OrderKey getOrderKey(const edm4eic::CalorimeterHit &obj)
Definition CalorimeterHit.cc:146
std::size_t operator()(const edm4eic::MutableInclusiveKinematics &obj) const
Definition MutableInclusiveKinematics.h:161