![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
17 std::string shortPrint(
const PixelRDO_Container *main_input_Pixel,
unsigned maxprint=25) {
18 std::ostringstream
os;
19 if(main_input_Pixel) {
20 for(
unsigned i=0;
i<maxprint;
i++) {
31 os<<
" [PixelRDO_Container==NULL]";
40 ATH_MSG_FATAL(
"PixelRDO_ContainerCnvBase::initialize() returned failure !");
41 return StatusCode::FAILURE;
52 return StatusCode::FAILURE;
57 if (service(
"DetectorStore",
detStore).isFailure()) {
59 return StatusCode::FAILURE;
65 const PixelID* idhelper(
nullptr);
66 if (
detStore->retrieve(idhelper,
"PixelID").isFailure()) {
68 return StatusCode::FAILURE;
79 return StatusCode::SUCCESS;
84 ATH_MSG_DEBUG(
"createPersistent(): main converter. TRANS = "<<shortPrint(transCont));
90 unsigned int converter_num(1);
94 if(it_Coll != it_CollEnd) {
95 while (it_Coll != it_CollEnd && (*it_Coll)->size() == 0 ) ++it_Coll;
96 if(it_Coll != it_CollEnd) {
99 ATH_MSG_DEBUG(
"Found container with Pixel1RawData concrete type objects");
102 ATH_MSG_FATAL(
"Converter not implemented for this concrete type ");
103 throw "Converter not implemented";
106 ATH_MSG_DEBUG(
"Container has only empty collections. Using TP1 converter");
114 if(converter_num == 1) {
126 static const pool::Guid p0_guid(
"7F2C09B6-0B47-4957-8BBA-EDC665A290AC");
127 static const pool::Guid TP1_guid(
"DA76970C-E019-43D2-B2F9-25660DCECD9D");
128 static const pool::Guid TP2_guid(
"7138342E-0A80-4A32-A387-2842A01C2539");
132 ATH_MSG_DEBUG(
"createTransient(): New TP version - TP2 branch");
134 std::unique_ptr< InDetRawDataContainer_p2 > col_vect( poolReadObject< InDetRawDataContainer_p2 >() );
137 ATH_MSG_DEBUG(
"createTransient(), TP2 branch: returns TRANS = "<<shortPrint(
res));
144 ATH_MSG_DEBUG(
"createTransient(): New TP version - TP1 branch");
146 std::unique_ptr< InDetRawDataContainer_p1 > col_vect( poolReadObject< InDetRawDataContainer_p1 >() );
149 ATH_MSG_DEBUG(
"createTransient(), TP1 branch: returns TRANS = "<<shortPrint(
res));
156 ATH_MSG_DEBUG(
"createTransient(): Old input file - p0 branch");
158 std::unique_ptr< PixelRDO_Container_p0 > col_vect( poolReadObject< PixelRDO_Container_p0 >() );
161 ATH_MSG_DEBUG(
"createTransient(), p0 branch: returns TRANS = "<<shortPrint(
res));
165 throw std::runtime_error(
"Unsupported persistent version of PixelRDO_Container");
This is an Identifier helper class for the Pixel subdetector. This class is a factory for creating co...
PixelRDO_ContainerCnv_PERS m_converter_PERS
virtual PERS * createPersistent(const TRANS *transObj, MsgStream &log)
Create persistent representation of a transient object.
The Athena Transient Store API.
::StatusCode StatusCode
StatusCode definition for legacy code.
Pixel1RawDataContainerCnv_p1 m_converter_TP1
std::pair< std::vector< unsigned int >, bool > res
void initialize(const PixelID *idhelper)
const_iterator end() const
return const_iterator for end of container
const_iterator begin() const
return const_iterator for first entry
MsgStream & msg() const
The standard message stream.
void initialize(const PixelID *idhelper)
virtual PixelRDO_Container * createTransient(const InDetRawDataContainer_p1 *persObj, MsgStream &log)
Pixel1RawDataContainerCnv_p2 m_converter_TP2
virtual const T * indexFindPtr(IdentifierHash hashId) const override final
return pointer on the found entry or null if out of range using hashed index - fast version,...
virtual PixelRDO_Container * createTransient(const InDetRawDataContainer_p2 *persObj, MsgStream &log)
StoreGateSvc * m_storeGate
virtual PixelRDO_Container * createTransient(const PixelRDO_Container_p0 *persObj, MsgStream &log)
void initialize(const PixelID *idhelper)
virtual StatusCode initialize()
Gaudi Service Interface method implementations:
virtual bool compareClassGuid(const Guid &clid) const
Compare POOL class GUID with the one of the object being read.
PixelRDO_ContainerCnv_p0 m_converter_p0
virtual StatusCode initialize()
Gaudi Service Interface method implementations:
virtual PixelRDO_Container_PERS * createPersistent(PixelRDO_Container *transCont)
virtual PixelRDO_Container * createTransient()