|
ATLAS Offline Software
|
Go to the documentation of this file.
38 TRANS::const_iterator it_Coll = transCont->
begin();
39 TRANS::const_iterator it_CollEnd = transCont->
end();
52 for (
size_t collIndex = 0; it_Coll != it_CollEnd; ++collIndex, ++it_Coll) {
56 chanEnd += collection.
size();
60 pcollection.
m_begin = chanBegin;
61 pcollection.
m_end = chanEnd;
64 for (
size_t i = 0;
i < collection.
size(); ++
i) {
67 if (not
chan)
continue;
71 MSG_DEBUG(
log,
" *** Writing PixelRDO_Container (Pixel1RawData concrete type)");
94 std::vector<size_t> chans_per_collection{};
95 chans_per_collection.reserve(numCollections);
96 size_t totalChannels = 0;
98 MSG_DEBUG(
log,
" Reading " << numCollections <<
"Collections");
101 chans_per_collection.push_back(nchans);
102 totalChannels += nchans;
105 dataItems.
reserve(totalChannels);
107 for (
size_t icoll = 0; icoll < numCollections; ++icoll) {
115 size_t nchans = chans_per_collection[icoll];
127 if (
sc.isFailure()) {
128 throw std::runtime_error(
"Failed to add collection to ID Container");
130 MSG_VERBOSE(
log,
"AthenaPoolTPCnvIDCont::persToTrans, collection, hash_id/coll id = "
131 << (
int) collIDHash <<
" / " << collID.
get_compact() <<
", added to Identifiable container.");
134 MSG_DEBUG(
log,
" *** Reading PixelRDO_Container (Pixel1RawData concrete type)");
139 std::unique_ptr<PixelRDO_Container> trans(std::make_unique<PixelRDO_Container>(
m_pixId->
wafer_hash_max()));
141 return(trans.release());
This is an Identifier helper class for the Pixel subdetector. This class is a factory for creating co...
virtual void transToPers(const PixelRDO_Container *transCont, InDetRawDataContainer_p1 *persCont, MsgStream &log)
InDetRawDataContainer< InDetRawDataCollection< PixelRDORawData > > PixelRDO_Container
void setIdentifier(Identifier id)
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,...
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts
virtual Identifier identify() const override final
Identifier32 get_identifier32() const
Get the 32-bit version Identifier, will be invalid if >32 bits needed.
void reserve(unsigned int size)
Set the desired capacity.
value_type get_compact() const
Get the compact id.
virtual void transToPers(const Pixel1RawData *transObj, InDetRawData_p1 *persObj, MsgStream &log)
IdentifierHash::value_type m_hashId
value_type get_compact() const
Get the compact id.
Identifier32::value_type m_id
virtual IdentifierHash identifyHash() const override final
pointer nextElementPtr()
obtain the next available element in pool by pointer pool is resized if its limit has been reached On...
virtual size_t numberOfCollections() const override final
return number of collections
::StatusCode StatusCode
StatusCode definition for legacy code.
std::vector< InDetRawDataCollection_p1 > m_collections
const_iterator end() const
return const_iterator for end of container
const_iterator begin() const
return const_iterator for first entry
std::vector< InDetRawData_p1 > m_rawdata
void clear()
Erase all the elements in the collection.
virtual void persToTrans(const InDetRawDataContainer_p1 *persCont, PixelRDO_Container *transCont, MsgStream &log)
virtual PixelRDO_Container * createTransient(const InDetRawDataContainer_p1 *persObj, MsgStream &log)
void resize(size_type sz)
Resizes the collection to the specified number of elements.
InDetRawDataCollection< PixelRDORawData > PixelRDO_Collection
size_type wafer_hash_max(void) const
#define MSG_VERBOSE(log, x)
virtual void persToTrans(const InDetRawData_p1 *persObj, Pixel1RawData *transObj, MsgStream &log)
#define MSG_DEBUG(log, x)
a typed memory pool that saves time spent allocation small object. This is typically used by containe...
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
size_type size() const noexcept
Returns the number of elements in the collection.