11#include "edm4hep/ParticleID.h"
12#include "edm4hep/Vector3f.h"
13#include "podio/RelationRange.h"
16#include "podio/ObjectID.h"
19#ifdef PODIO_JSON_OUTPUT
20#include "nlohmann/json.hpp"
42 Cluster(std::int32_t type,
float energy,
float energyError,
float time,
float timeError, std::uint32_t nhits, edm4hep::Vector3f position,
eicd::Cov3f positionError,
float intrinsicTheta,
float intrinsicPhi,
eicd::Cov2f intrinsicDirectionError);
63 const std::int32_t&
getType()
const;
78 const std::uint32_t&
getNhits()
const;
100 std::vector<eicd::Cluster>::const_iterator
clusters_end()
const;
101 podio::RelationRange<eicd::Cluster>
getClusters()
const;
104 std::vector<eicd::CalorimeterHit>::const_iterator
hits_begin()
const;
105 std::vector<eicd::CalorimeterHit>::const_iterator
hits_end()
const;
106 podio::RelationRange<eicd::CalorimeterHit>
getHits()
const;
110 std::vector<edm4hep::ParticleID>::const_iterator
particleIDs_end()
const;
146 swap(a.m_obj, b.m_obj);
153std::ostream&
operator<<(std::ostream& o,
const Cluster& value);
155#ifdef PODIO_JSON_OUTPUT
156void to_json(nlohmann::json& j,
const Cluster& value);
Definition: CalorimeterHit.h:27
Definition: ClusterCollection.h:82
Definition: ClusterCollection.h:35
unsigned int id() const
Definition: Cluster.h:140
Cluster & operator=(Cluster other)
copy-assignment operator
Definition: Cluster.cc:39
podio::RelationRange< float > getSubdetectorEnergies() const
Definition: Cluster.cc:257
void unlink()
disconnect from ClusterObj instance
Definition: Cluster.h:132
const float & getTimeError() const
Access the Error on the cluster time.
Definition: Cluster.cc:64
podio::RelationRange< float > getHitContributions() const
Definition: Cluster.cc:225
~Cluster()
destructor
Definition: Cluster.cc:54
bool operator<(const Cluster &other) const
Definition: Cluster.h:138
std::vector< float >::const_iterator hitContributions_begin() const
Definition: Cluster.cc:202
bool isAvailable() const
check whether the object is actually available
Definition: Cluster.cc:269
const float & getIntrinsicTheta() const
Access the Intrinsic cluster propagation direction polar angle [rad].
Definition: Cluster.cc:68
podio::RelationRange< edm4hep::ParticleID > getParticleIDs() const
Definition: Cluster.cc:161
unsigned int shapeParameters_size() const
Definition: Cluster.cc:182
unsigned int clusters_size() const
Definition: Cluster.cc:86
std::vector< float >::const_iterator shapeParameters_end() const
Definition: Cluster.cc:176
podio::RelationRange< float > getShapeParameters() const
Definition: Cluster.cc:193
unsigned int hits_size() const
Definition: Cluster.cc:118
std::vector< eicd::CalorimeterHit >::const_iterator hits_begin() const
Definition: Cluster.cc:106
const float & getIntrinsicPhi() const
Access the Intrinsic cluster propagation direction azimuthal angle [rad].
Definition: Cluster.cc:69
std::vector< float >::const_iterator subdetectorEnergies_begin() const
Definition: Cluster.cc:234
std::vector< eicd::Cluster >::const_iterator clusters_end() const
Definition: Cluster.cc:80
const eicd::Cov2f & getIntrinsicDirectionError() const
Access the Error on the intrinsic cluster propagation direction.
Definition: Cluster.cc:70
std::vector< float >::const_iterator hitContributions_end() const
Definition: Cluster.cc:208
std::vector< float >::const_iterator shapeParameters_begin() const
Definition: Cluster.cc:170
std::vector< float >::const_iterator subdetectorEnergies_end() const
Definition: Cluster.cc:240
const std::int32_t & getType() const
Access the Flagword that defines the type of the cluster.
Definition: Cluster.cc:60
unsigned int hitContributions_size() const
Definition: Cluster.cc:214
const float & getEnergyError() const
Access the Error on the cluster energy [GeV].
Definition: Cluster.cc:62
std::vector< eicd::Cluster >::const_iterator clusters_begin() const
Definition: Cluster.cc:74
podio::RelationRange< eicd::Cluster > getClusters() const
Definition: Cluster.cc:97
Cluster()
default constructor
Definition: Cluster.cc:16
const edm4hep::Vector3f & getPosition() const
Access the Global position of the cluster [mm].
Definition: Cluster.cc:66
const eicd::Cov3f & getPositionError() const
Access the Covariance matrix of the position (6 Parameters).
Definition: Cluster.cc:67
unsigned int subdetectorEnergies_size() const
Definition: Cluster.cc:246
const podio::ObjectID getObjectID() const
Definition: Cluster.cc:276
std::vector< edm4hep::ParticleID >::const_iterator particleIDs_end() const
Definition: Cluster.cc:144
const std::uint32_t & getNhits() const
Access the Number of hits in the cluster.
Definition: Cluster.cc:65
std::vector< edm4hep::ParticleID >::const_iterator particleIDs_begin() const
Definition: Cluster.cc:138
MutableCluster clone() const
create a mutable deep-copy of the object with identical relations
Definition: Cluster.cc:50
std::vector< eicd::CalorimeterHit >::const_iterator hits_end() const
Definition: Cluster.cc:112
const float & getEnergy() const
Access the Reconstructed energy of the cluster [GeV].
Definition: Cluster.cc:61
const float & getTime() const
Access the [ns].
Definition: Cluster.cc:63
unsigned int particleIDs_size() const
Definition: Cluster.cc:150
friend void swap(Cluster &a, Cluster &b)
Definition: Cluster.h:144
podio::RelationRange< eicd::CalorimeterHit > getHits() const
Definition: Cluster.cc:129
bool operator==(const Cluster &other) const
Definition: Cluster.h:134
Definition: ClusterObj.h:20
Definition: MutableCluster.h:34
Definition: CalorimeterHit.cc:13
std::ostream & operator<<(std::ostream &o, const CalorimeterHit &value)
Definition: CalorimeterHit.cc:93