EDM4eic
EIC data model
Toggle main menu visibility
Loading...
Searching...
No Matches
TrackCollectionData.h
Go to the documentation of this file.
1
// AUTOMATICALLY GENERATED FILE - DO NOT EDIT
2
3
#ifndef EDM4EIC_Track_CollectionData_H
4
#define EDM4EIC_Track_CollectionData_H
5
6
// datamodel specific includes
7
#include "
edm4eic/TrackData.h
"
8
#include "
edm4eic/TrackObj.h
"
9
#include "
edm4eic/Track.h
"
10
#include "
edm4eic/Measurement2D.h
"
11
#include "
edm4eic/Trajectory.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
TrackObjPointerContainer
= std::deque<TrackObj*>;
26
using
TrackDataContainer
= std::vector<TrackData>;
27
28
29
/**
30
* Class encapsulating everything related to storage of data that is needed by a
31
* collection.
32
*/
33
class
TrackCollectionData
{
34
public
:
35
/**
36
* The Objs of this collection
37
*/
38
TrackObjPointerContainer
entries
{};
39
40
/**
41
* Default constructor setting up the necessary buffers
42
*/
43
TrackCollectionData
();
44
45
/**
46
* Constructor from existing I/O buffers
47
*/
48
TrackCollectionData
(podio::CollectionReadBuffers buffers,
bool
isSubsetColl);
49
50
/**
51
* Non copy-able, move-only class
52
*/
53
TrackCollectionData
(
const
TrackCollectionData
&) =
delete
;
54
TrackCollectionData
&
operator=
(
const
TrackCollectionData
&) =
delete
;
55
TrackCollectionData
(
TrackCollectionData
&& other) =
default
;
56
TrackCollectionData
&
operator=
(
TrackCollectionData
&& other) =
default
;
57
58
/**
59
* Destructor
60
*/
61
~TrackCollectionData
() =
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
(
TrackObj
* 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::Measurement2D> m_rel_measurements{std::make_unique<std::vector<edm4eic::Measurement2D>>()};
///< Relation buffer for read / write
80
std::vector<podio::UVecPtr<edm4eic::Measurement2D>> m_rel_measurements_tmp{};
///< Relation buffer for internal book-keeping
81
podio::UVecPtr<edm4eic::Track> m_rel_tracks{std::make_unique<std::vector<edm4eic::Track>>()};
///< Relation buffer for read / write
82
std::vector<podio::UVecPtr<edm4eic::Track>> m_rel_tracks_tmp{};
///< Relation buffer for internal book-keeping
83
podio::UVecPtr<edm4eic::Trajectory> m_rel_trajectory{std::make_unique<std::vector<edm4eic::Trajectory>>()};
///< Relation buffer for read / write
84
85
// members to handle vector members
86
87
// I/O related buffers
88
podio::CollRefCollection m_refCollections{};
89
podio::VectorMembersInfo m_vecmem_info{};
90
std::unique_ptr<TrackDataContainer> m_data{
nullptr
};
91
};
92
93
94
}
// namespace edm4eic
95
96
97
#endif
Measurement2D.h
Track.h
TrackData.h
TrackObj.h
Trajectory.h
edm4eic::TrackCollectionData::TrackCollectionData
TrackCollectionData(const TrackCollectionData &)=delete
edm4eic::TrackCollectionData::setReferences
bool setReferences(const podio::ICollectionProvider *collectionProvider, bool isSubsetColl)
Definition
TrackCollectionData.cc:182
edm4eic::TrackCollectionData::prepareForWrite
void prepareForWrite(bool isSubsetColl)
Definition
TrackCollectionData.cc:109
edm4eic::TrackCollectionData::operator=
TrackCollectionData & operator=(const TrackCollectionData &)=delete
edm4eic::TrackCollectionData::operator=
TrackCollectionData & operator=(TrackCollectionData &&other)=default
edm4eic::TrackCollectionData::makeSubsetCollection
void makeSubsetCollection()
Definition
TrackCollectionData.cc:243
edm4eic::TrackCollectionData::getCollectionBuffers
podio::CollectionWriteBuffers getCollectionBuffers(bool isSubsetColl)
Definition
TrackCollectionData.cc:100
edm4eic::TrackCollectionData::clear
void clear(bool isSubsetColl)
Definition
TrackCollectionData.cc:53
edm4eic::TrackCollectionData::prepareAfterRead
void prepareAfterRead(uint32_t collectionID)
Definition
TrackCollectionData.cc:159
edm4eic::TrackCollectionData::~TrackCollectionData
~TrackCollectionData()=default
edm4eic::TrackCollectionData::TrackCollectionData
TrackCollectionData(TrackCollectionData &&other)=default
edm4eic::TrackCollectionData::entries
TrackObjPointerContainer entries
Definition
TrackCollectionData.h:38
edm4eic::TrackCollectionData::TrackCollectionData
TrackCollectionData()
Definition
TrackCollectionData.cc:14
edm4eic::TrackCollectionData::createRelations
void createRelations(TrackObj *obj)
Definition
TrackCollectionData.cc:175
edm4eic::TrackObj
Definition
TrackObj.h:24
edm4eic
Definition
CalorimeterHit.cc:17
edm4eic::TrackDataContainer
std::vector< TrackData > TrackDataContainer
Definition
TrackCollectionData.h:26
edm4eic::TrackObjPointerContainer
std::deque< TrackObj * > TrackObjPointerContainer
Definition
TrackCollectionData.h:25
build
edm4eic
TrackCollectionData.h
Generated by
1.17.0