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