43 TRANS::const_iterator it_Coll = transCont->
begin();
44 TRANS::const_iterator it_CollEnd = transCont->
end();
45 unsigned int collIndex;
46 unsigned int chanBegin = 0;
47 unsigned int chanEnd = 0;
51 for (collIndex = 0; it_Coll != it_CollEnd; ++collIndex, ++it_Coll) {
55 chanEnd += collection.
size();
59 pcollection.
m_begin = chanBegin;
60 pcollection.
m_end = chanEnd;
64 for (
unsigned int i = 0; i < collection.
size(); ++i) {
73 for (
unsigned int i = 0; i < collection.
size(); ++i) {
106 log << MSG::FATAL <<
"The collection has mixed SCT1 and SCT3 elements, this is not allowed " <<
endmsg;
111 for (
unsigned int icoll = 0; icoll < persCont->
m_collections.size(); ++icoll) {
117 std::unique_ptr<SCT_RDO_Collection> coll = std::make_unique<SCT_RDO_Collection>(collIDHash);
118 coll->setIdentifier(collID);
120 coll->resize(nchans);
122 for (
unsigned int ichan = 0; ichan < nchans; ++ ichan) {
125 std::unique_ptr<SCT1_RawData> chan = std::make_unique<SCT1_RawData>();
127 (*coll)[ichan] = chan.release();
130 std::unique_ptr<SCT3_RawData> chan = std::make_unique<SCT3_RawData>();
132 (*coll)[ichan] = chan.release();
138 if (
sc.isFailure()) {
139 throw std::runtime_error(
"Failed to add collection to ID Container");
141 MSG_VERBOSE(log,
"AthenaPoolTPCnvIDCont::persToTrans, collection, hash_id/coll id = "
142 << collIDHash.
value() <<
" / " << collID.
get_compact() <<
", added to Identifiable container.");
148 std::unique_ptr<SCT_RDO_Container> trans(std::make_unique<SCT_RDO_Container>(
m_sctId->wafer_hash_max()));
150 return trans.release();
#define MSG_VERBOSE(log, x)
This is an Identifier helper class for the SCT subdetector.
InDetRawDataCollection< SCT_RDORawData > SCT_RDO_Collection
InDetRawDataContainer< InDetRawDataCollection< SCT_RDORawData > > SCT_RDO_Container
size_type size() const noexcept
const_iterator end() const
return const_iterator for end of container
virtual size_t numberOfCollections() const override final
return number of collections
virtual StatusCode addCollection(const T *coll, IdentifierHash hashId) override final
insert collection into container with id hash if IDC should not take ownership of collection,...
const_iterator begin() const
return const_iterator for first entry
This is a "hash" representation of an Identifier.
value_type get_compact() const
Get the compact id.
Identifier32::value_type m_id
IdentifierHash::value_type m_hashId
virtual Identifier identify() const override final
virtual IdentifierHash identifyHash() const override final
virtual void transToPers(const SCT1_RawData *transObj, InDetRawData_p1 *persObj, MsgStream &log)
virtual void persToTrans(const InDetRawData_p1 *persObj, SCT1_RawData *transObj, MsgStream &log)
virtual void transToPers(const SCT3_RawData *transObj, SCT3_RawData_p1 *persObj, MsgStream &log)
virtual void persToTrans(const SCT3_RawData_p1 *persObj, SCT3_RawData *transObj, MsgStream &log)
virtual void transToPers(const SCT_RDO_Container *transCont, SCT_RawDataContainer_p1 *persCont, MsgStream &log)
virtual void persToTrans(const SCT_RawDataContainer_p1 *persCont, SCT_RDO_Container *transCont, MsgStream &log)
virtual SCT_RDO_Container * createTransient(const SCT_RawDataContainer_p1 *persObj, MsgStream &log)
std::vector< SCT3_RawData_p1 > m_sct3data
std::vector< InDetRawData_p1 > m_rawdata
std::vector< InDetRawDataCollection_p1 > m_collections