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