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