EDM4eic
EIC data model
Toggle main menu visibility
Loading...
Searching...
No Matches
ProtoClusterCollectionData.h
Go to the documentation of this file.
1
// AUTOMATICALLY GENERATED FILE - DO NOT EDIT
2
3
#ifndef EDM4EIC_ProtoCluster_CollectionData_H
4
#define EDM4EIC_ProtoCluster_CollectionData_H
5
6
// datamodel specific includes
7
#include "
edm4eic/ProtoClusterData.h
"
8
#include "
edm4eic/ProtoClusterObj.h
"
9
#include "
edm4eic/ProtoCluster.h
"
10
#include "
edm4eic/CalorimeterHit.h
"
11
12
// schema evolution specific includes
13
14
// podio specific includes
15
#include "podio/CollectionBuffers.h"
16
#include "podio/ICollectionProvider.h"
17
18
#include <deque>
19
#include <memory>
20
21
namespace
edm4eic
{
22
23
24
using
ProtoClusterObjPointerContainer
= std::deque<ProtoClusterObj*>;
25
using
ProtoClusterDataContainer
= std::vector<ProtoClusterData>;
26
27
28
/**
29
* Class encapsulating everything related to storage of data that is needed by a
30
* collection.
31
*/
32
class
ProtoClusterCollectionData
{
33
public
:
34
/**
35
* The Objs of this collection
36
*/
37
ProtoClusterObjPointerContainer
entries
{};
38
39
/**
40
* Default constructor setting up the necessary buffers
41
*/
42
ProtoClusterCollectionData
();
43
44
/**
45
* Constructor from existing I/O buffers
46
*/
47
ProtoClusterCollectionData
(podio::CollectionReadBuffers buffers,
bool
isSubsetColl);
48
49
/**
50
* Non copy-able, move-only class
51
*/
52
ProtoClusterCollectionData
(
const
ProtoClusterCollectionData
&) =
delete
;
53
ProtoClusterCollectionData
&
operator=
(
const
ProtoClusterCollectionData
&) =
delete
;
54
ProtoClusterCollectionData
(
ProtoClusterCollectionData
&& other) =
default
;
55
ProtoClusterCollectionData
&
operator=
(
ProtoClusterCollectionData
&& other) =
default
;
56
57
/**
58
* Destructor
59
*/
60
~ProtoClusterCollectionData
() =
default
;
61
62
void
clear
(
bool
isSubsetColl);
63
64
podio::CollectionWriteBuffers
getCollectionBuffers
(
bool
isSubsetColl);
65
66
void
prepareForWrite
(
bool
isSubsetColl);
67
68
void
prepareAfterRead
(uint32_t collectionID);
69
70
void
makeSubsetCollection
();
71
72
void
createRelations
(
ProtoClusterObj
* obj);
73
74
bool
setReferences
(
const
podio::ICollectionProvider* collectionProvider,
bool
isSubsetColl);
75
76
private
:
77
// members to handle 1-to-N-relations
78
podio::UVecPtr<edm4eic::CalorimeterHit> m_rel_hits{std::make_unique<std::vector<edm4eic::CalorimeterHit>>()};
///< Relation buffer for read / write
79
std::vector<podio::UVecPtr<edm4eic::CalorimeterHit>> m_rel_hits_tmp{};
///< Relation buffer for internal book-keeping
80
81
// members to handle vector members
82
podio::UVecPtr<float> m_vec_weights{
nullptr
};
/// combined vector of all objects in collection
83
std::vector<podio::UVecPtr<float>> m_vecs_weights{};
/// pointers to individual member vectors
84
85
// I/O related buffers
86
podio::CollRefCollection m_refCollections{};
87
podio::VectorMembersInfo m_vecmem_info{};
88
std::unique_ptr<ProtoClusterDataContainer> m_data{
nullptr
};
89
};
90
91
92
}
// namespace edm4eic
93
94
95
#endif
CalorimeterHit.h
ProtoCluster.h
ProtoClusterData.h
ProtoClusterObj.h
edm4eic::ProtoClusterCollectionData::createRelations
void createRelations(ProtoClusterObj *obj)
Definition
ProtoClusterCollectionData.cc:155
edm4eic::ProtoClusterCollectionData::operator=
ProtoClusterCollectionData & operator=(const ProtoClusterCollectionData &)=delete
edm4eic::ProtoClusterCollectionData::operator=
ProtoClusterCollectionData & operator=(ProtoClusterCollectionData &&other)=default
edm4eic::ProtoClusterCollectionData::prepareForWrite
void prepareForWrite(bool isSubsetColl)
Definition
ProtoClusterCollectionData.cc:99
edm4eic::ProtoClusterCollectionData::ProtoClusterCollectionData
ProtoClusterCollectionData(ProtoClusterCollectionData &&other)=default
edm4eic::ProtoClusterCollectionData::setReferences
bool setReferences(const podio::ICollectionProvider *collectionProvider, bool isSubsetColl)
Definition
ProtoClusterCollectionData.cc:162
edm4eic::ProtoClusterCollectionData::getCollectionBuffers
podio::CollectionWriteBuffers getCollectionBuffers(bool isSubsetColl)
Definition
ProtoClusterCollectionData.cc:85
edm4eic::ProtoClusterCollectionData::ProtoClusterCollectionData
ProtoClusterCollectionData(const ProtoClusterCollectionData &)=delete
edm4eic::ProtoClusterCollectionData::ProtoClusterCollectionData
ProtoClusterCollectionData()
Definition
ProtoClusterCollectionData.cc:14
edm4eic::ProtoClusterCollectionData::makeSubsetCollection
void makeSubsetCollection()
Definition
ProtoClusterCollectionData.cc:195
edm4eic::ProtoClusterCollectionData::prepareAfterRead
void prepareAfterRead(uint32_t collectionID)
Definition
ProtoClusterCollectionData.cc:139
edm4eic::ProtoClusterCollectionData::clear
void clear(bool isSubsetColl)
Definition
ProtoClusterCollectionData.cc:52
edm4eic::ProtoClusterCollectionData::entries
ProtoClusterObjPointerContainer entries
Definition
ProtoClusterCollectionData.h:37
edm4eic::ProtoClusterCollectionData::~ProtoClusterCollectionData
~ProtoClusterCollectionData()=default
edm4eic::ProtoClusterObj
Definition
ProtoClusterObj.h:20
edm4eic
Definition
CalorimeterHit.cc:17
edm4eic::ProtoClusterDataContainer
std::vector< ProtoClusterData > ProtoClusterDataContainer
Definition
ProtoClusterCollectionData.h:25
edm4eic::ProtoClusterObjPointerContainer
std::deque< ProtoClusterObj * > ProtoClusterObjPointerContainer
Definition
ProtoClusterCollectionData.h:24
build
edm4eic
ProtoClusterCollectionData.h
Generated by
1.17.0