Go to the documentation of this file.
3 #ifndef EICD_ReconstructedParticleRelationsCollection_H
4 #define EICD_ReconstructedParticleRelationsCollection_H
12 #include "podio/ICollectionProvider.h"
13 #include "podio/CollectionBase.h"
14 #include "podio/CollectionIDTable.h"
37 return m_index != x.m_index;
59 return m_index != x.m_index;
88 void clear() override final;
98 template<
typename... Args>
102 size_t size() const override final;
105 std::
string getValueTypeName()
const override {
return std::string(
"eic::ReconstructedParticleRelations"); }
122 void setBuffer(
void* address) override final;
123 bool setReferences(const podio::ICollectionProvider* collectionProvider) override final;
127 podio::VectorMembersInfo*
vectorMembers()
override {
return &m_vecmem_info; }
129 void setID(
unsigned ID)
override final {
131 std::for_each(m_entries.begin(),m_entries.end(),
137 unsigned getID() const override final {
138 return m_collectionID;
153 return iterator(m_entries.size(), &m_entries);
163 std::vector<ReconstructedParticleRelationsData>*
_getBuffer() {
return m_data; }
165 template<
size_t arraysize>
166 const std::array<eic::Index, arraysize> recID()
const;
167 template<
size_t arraysize>
168 const std::array<eic::Index, arraysize> vertexID()
const;
169 template<
size_t arraysize>
170 const std::array<eic::Index, arraysize> trackID()
const;
171 template<
size_t arraysize>
172 const std::array<eic::Index, arraysize> ecalID()
const;
173 template<
size_t arraysize>
174 const std::array<eic::Index, arraysize> hcalID()
const;
175 template<
size_t arraysize>
176 const std::array<eic::Index, arraysize> cherID()
const;
177 template<
size_t arraysize>
178 const std::array<eic::Index, arraysize> tofID()
const;
179 template<
size_t arraysize>
180 const std::array<eic::Index, arraysize> mcID()
const;
183 bool m_isValid{
false};
184 bool m_isReadFromFile{
false};
185 int m_collectionID{0};
192 podio::CollRefCollection m_refCollections{};
193 podio::VectorMembersInfo m_vecmem_info{};
197 std::ostream&
operator<<(std::ostream& o,
const ReconstructedParticleRelationsCollection& v);
199 template<
typename... Args>
201 const int size = m_entries.size();
203 m_entries.push_back(obj);
207 template<
size_t arraysize>
208 const std::array<eic::Index, arraysize> ReconstructedParticleRelationsCollection::recID()
const {
209 std::array<eic::Index, arraysize> tmp;
210 const auto valid_size = std::min(arraysize, m_entries.size());
211 for (
unsigned i = 0; i < valid_size; ++i) {
212 tmp[i] = m_entries[i]->data.recID;
217 template<
size_t arraysize>
218 const std::array<eic::Index, arraysize> ReconstructedParticleRelationsCollection::vertexID()
const {
219 std::array<eic::Index, arraysize> tmp;
220 const auto valid_size = std::min(arraysize, m_entries.size());
221 for (
unsigned i = 0; i < valid_size; ++i) {
222 tmp[i] = m_entries[i]->data.vertexID;
227 template<
size_t arraysize>
228 const std::array<eic::Index, arraysize> ReconstructedParticleRelationsCollection::trackID()
const {
229 std::array<eic::Index, arraysize> tmp;
230 const auto valid_size = std::min(arraysize, m_entries.size());
231 for (
unsigned i = 0; i < valid_size; ++i) {
232 tmp[i] = m_entries[i]->data.trackID;
237 template<
size_t arraysize>
238 const std::array<eic::Index, arraysize> ReconstructedParticleRelationsCollection::ecalID()
const {
239 std::array<eic::Index, arraysize> tmp;
240 const auto valid_size = std::min(arraysize, m_entries.size());
241 for (
unsigned i = 0; i < valid_size; ++i) {
242 tmp[i] = m_entries[i]->data.ecalID;
247 template<
size_t arraysize>
248 const std::array<eic::Index, arraysize> ReconstructedParticleRelationsCollection::hcalID()
const {
249 std::array<eic::Index, arraysize> tmp;
250 const auto valid_size = std::min(arraysize, m_entries.size());
251 for (
unsigned i = 0; i < valid_size; ++i) {
252 tmp[i] = m_entries[i]->data.hcalID;
257 template<
size_t arraysize>
258 const std::array<eic::Index, arraysize> ReconstructedParticleRelationsCollection::cherID()
const {
259 std::array<eic::Index, arraysize> tmp;
260 const auto valid_size = std::min(arraysize, m_entries.size());
261 for (
unsigned i = 0; i < valid_size; ++i) {
262 tmp[i] = m_entries[i]->data.cherID;
267 template<
size_t arraysize>
268 const std::array<eic::Index, arraysize> ReconstructedParticleRelationsCollection::tofID()
const {
269 std::array<eic::Index, arraysize> tmp;
270 const auto valid_size = std::min(arraysize, m_entries.size());
271 for (
unsigned i = 0; i < valid_size; ++i) {
272 tmp[i] = m_entries[i]->data.tofID;
277 template<
size_t arraysize>
278 const std::array<eic::Index, arraysize> ReconstructedParticleRelationsCollection::mcID()
const {
279 std::array<eic::Index, arraysize> tmp;
280 const auto valid_size = std::min(arraysize, m_entries.size());
281 for (
unsigned i = 0; i < valid_size; ++i) {
282 tmp[i] = m_entries[i]->data.mcID;
void * getBufferAddress() override final
returns the address of the pointer to the data buffer
Definition: ReconstructedParticleRelationsCollection.h:160
std::ostream & operator<<(std::ostream &o, const ConstBasicParticle &value)
Definition: BasicParticle.cc:102
podio::CollRefCollection * referenceCollections() override final
Definition: ReconstructedParticleRelationsCollection.h:125
bool setReferences(const podio::ICollectionProvider *collectionProvider) override final
Definition: ReconstructedParticleRelationsCollection.cc:84
bool isValid() const override final
Definition: ReconstructedParticleRelationsCollection.h:141
unsigned getID() const override final
Definition: ReconstructedParticleRelationsCollection.h:137
ConstReconstructedParticleRelations operator[](unsigned int index) const
Returns the const object of given index.
Definition: ReconstructedParticleRelationsCollection.cc:23
void clear() override final
Definition: ReconstructedParticleRelationsCollection.cc:50
ReconstructedParticleRelationsConstCollectionIterator(const ReconstructedParticleRelationsConstCollectionIterator &)=delete
ReconstructedParticleRelationsCollectionIterator & operator++()
Definition: ReconstructedParticleRelationsCollection.cc:116
void push_back(ConstReconstructedParticleRelations object)
Append object to the collection.
Definition: ReconstructedParticleRelationsCollection.cc:89
ReconstructedParticleRelationsConstCollectionIterator(size_t index, const ReconstructedParticleRelationsObjPointerContainer *collection)
Definition: ReconstructedParticleRelationsCollection.h:53
ReconstructedParticleRelationsCollectionIterator(const ReconstructedParticleRelationsCollectionIterator &)=delete
Definition: BasicParticle.cc:13
ReconstructedParticleRelationsCollection(const ReconstructedParticleRelationsCollection &)=delete
iterator begin()
Definition: ReconstructedParticleRelationsCollection.h:146
ReconstructedParticleRelationsConstCollectionIterator & operator++()
Definition: ReconstructedParticleRelationsCollection.cc:133
ConstReconstructedParticleRelations at(unsigned int index) const
Returns the const object of given index.
Definition: ReconstructedParticleRelationsCollection.cc:27
ReconstructedParticleRelationsCollectionIterator(size_t index, const ReconstructedParticleRelationsObjPointerContainer *collection)
Definition: ReconstructedParticleRelationsCollection.h:31
void setBuffer(void *address) override final
Definition: ReconstructedParticleRelationsCollection.cc:101
void prepareAfterRead() override final
Definition: ReconstructedParticleRelationsCollection.cc:69
ConstReconstructedParticleRelations * operator->()
Definition: ReconstructedParticleRelationsCollection.cc:128
void prepareForWrite() override final
Definition: ReconstructedParticleRelationsCollection.cc:56
bool operator!=(const ReconstructedParticleRelationsConstCollectionIterator &x) const
Definition: ReconstructedParticleRelationsCollection.h:58
ReconstructedParticleRelationsCollectionIterator & operator=(const ReconstructedParticleRelationsCollectionIterator &)=delete
const_iterator begin() const
Definition: ReconstructedParticleRelationsCollection.h:149
iterator end()
Definition: ReconstructedParticleRelationsCollection.h:152
Definition: ReconstructedParticleRelationsCollection.h:51
Definition: ReconstructedParticleRelations.h:22
ReconstructedParticleRelations create()
Append a new object to the collection, and return this object.
Definition: ReconstructedParticleRelationsCollection.cc:43
std::vector< ReconstructedParticleRelationsData > * _getBuffer()
Returns the pointer to the data buffer.
Definition: ReconstructedParticleRelationsCollection.h:163
~ReconstructedParticleRelationsCollection()
Definition: ReconstructedParticleRelationsCollection.cc:18
Definition: ReconstructedParticleRelationsCollection.h:29
ReconstructedParticleRelationsCollection & operator=(const ReconstructedParticleRelationsCollection &)=delete
ReconstructedParticleRelations * operator->()
Definition: ReconstructedParticleRelationsCollection.cc:111
Definition: ReconstructedParticleRelationsCollection.h:76
std::string getValueTypeName() const override
fully qualified type name of elements - with namespace
Definition: ReconstructedParticleRelationsCollection.h:105
Definition: ReconstructedParticleRelationsConst.h:20
bool operator!=(const ReconstructedParticleRelationsCollectionIterator &x) const
Definition: ReconstructedParticleRelationsCollection.h:36
ReconstructedParticleRelations operator*()
Definition: ReconstructedParticleRelationsCollection.cc:106
podio::VectorMembersInfo * vectorMembers() override
Definition: ReconstructedParticleRelationsCollection.h:127
ReconstructedParticleRelationsCollection()
Definition: ReconstructedParticleRelationsCollection.cc:13
Definition: ReconstructedParticleRelationsObj.h:18
std::vector< ReconstructedParticleRelationsData > ReconstructedParticleRelationsDataContainer
Definition: ReconstructedParticleRelationsCollection.h:26
void setID(unsigned ID) override final
Definition: ReconstructedParticleRelationsCollection.h:129
const_iterator end() const
Definition: ReconstructedParticleRelationsCollection.h:155
ConstReconstructedParticleRelations operator*()
Definition: ReconstructedParticleRelationsCollection.cc:123
size_t size() const override final
number of elements in the collection
Definition: ReconstructedParticleRelationsCollection.cc:39
ReconstructedParticleRelationsConstCollectionIterator & operator=(const ReconstructedParticleRelationsConstCollectionIterator &)=delete
std::deque< ReconstructedParticleRelationsObj * > ReconstructedParticleRelationsObjPointerContainer
Definition: ReconstructedParticleRelationsCollection.h:27