3#ifndef EICD_MutablePMTHit_H
4#define EICD_MutablePMTHit_H
10#include "edm4hep/Vector3f.h"
12#include "podio/ObjectID.h"
15#ifdef PODIO_JSON_OUTPUT
16#include "nlohmann/json.hpp"
38 MutablePMTHit(std::uint64_t cellID,
float npe,
float time,
float timeError, edm4hep::Vector3f
position, edm4hep::Vector3f
dimension, std::int32_t sector, edm4hep::Vector3f
local);
64 const float&
getNpe()
const;
82 const edm4hep::Vector3f&
getLocal()
const;
112 void setLocal(edm4hep::Vector3f value);
114 edm4hep::Vector3f&
local();
138 swap(a.m_obj, b.m_obj);
145#ifdef PODIO_JSON_OUTPUT
146void to_json(nlohmann::json& j,
const MutablePMTHit& value);
Definition: MutablePMTHit.h:28
const float & getTime() const
Access the Time [ns].
Definition: MutablePMTHit.cc:60
~MutablePMTHit()
destructor
Definition: MutablePMTHit.cc:51
edm4hep::Vector3f & dimension()
Get reference to The dimension information of the pixel [mm].
Definition: MutablePMTHit.cc:75
void setLocal(edm4hep::Vector3f value)
Set the The local position of the hit in detector coordinates (relative to the sector) [mm].
Definition: MutablePMTHit.cc:77
const edm4hep::Vector3f & getPosition() const
Access the PMT hit position [mm].
Definition: MutablePMTHit.cc:62
void setPosition(edm4hep::Vector3f value)
Set the PMT hit position [mm].
Definition: MutablePMTHit.cc:72
const std::int32_t & getSector() const
Access the The sector this hit occured in.
Definition: MutablePMTHit.cc:64
void setSector(std::int32_t value)
Set the The sector this hit occured in.
Definition: MutablePMTHit.cc:76
bool operator==(const MutablePMTHit &other) const
Definition: MutablePMTHit.h:126
const podio::ObjectID getObjectID() const
Definition: MutablePMTHit.cc:93
void setNpe(float value)
Set the Estimated number of photo-electrons [#].
Definition: MutablePMTHit.cc:69
void setDimension(edm4hep::Vector3f value)
Set the The dimension information of the pixel [mm].
Definition: MutablePMTHit.cc:74
const float & getTimeError() const
Access the Error on the time [ns].
Definition: MutablePMTHit.cc:61
void setCellID(std::uint64_t value)
Set the The detector specific (geometrical) cell id.
Definition: MutablePMTHit.cc:68
void setTime(float value)
Set the Time [ns].
Definition: MutablePMTHit.cc:70
const std::uint64_t & getCellID() const
Access the The detector specific (geometrical) cell id.
Definition: MutablePMTHit.cc:58
void setTimeError(float value)
Set the Error on the time [ns].
Definition: MutablePMTHit.cc:71
const edm4hep::Vector3f & getDimension() const
Access the The dimension information of the pixel [mm].
Definition: MutablePMTHit.cc:63
void unlink()
disconnect from PMTHitObj instance
Definition: MutablePMTHit.h:124
const float & getNpe() const
Access the Estimated number of photo-electrons [#].
Definition: MutablePMTHit.cc:59
MutablePMTHit & operator=(MutablePMTHit other)
copy-assignment operator
Definition: MutablePMTHit.cc:36
unsigned int id() const
Definition: MutablePMTHit.h:132
friend class PMTHit
Definition: MutablePMTHit.h:32
bool isAvailable() const
check whether the object is actually available
Definition: MutablePMTHit.cc:86
edm4hep::Vector3f & local()
Get reference to The local position of the hit in detector coordinates (relative to the sector) [mm].
Definition: MutablePMTHit.cc:78
const edm4hep::Vector3f & getLocal() const
Access the The local position of the hit in detector coordinates (relative to the sector) [mm].
Definition: MutablePMTHit.cc:65
bool operator<(const MutablePMTHit &other) const
Definition: MutablePMTHit.h:130
edm4hep::Vector3f & position()
Get reference to PMT hit position [mm].
Definition: MutablePMTHit.cc:73
friend void swap(MutablePMTHit &a, MutablePMTHit &b)
Definition: MutablePMTHit.h:136
MutablePMTHit clone() const
create a mutable deep-copy of the object with identical relations
Definition: MutablePMTHit.cc:47
MutablePMTHit()
default constructor
Definition: MutablePMTHit.cc:16
Definition: PMTHitCollection.h:82
Definition: PMTHitCollection.h:57
Definition: PMTHitObj.h:17
Definition: CalorimeterHit.cc:13