![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
16 std::string shortPrint(
const TRT_RDO_Container *main_input_TRT,
unsigned maxprint=25) {
17 std::ostringstream
os;
19 for(
unsigned i=0;
i<maxprint;
i++) {
30 os<<
" [TRT_RDO_Container==NULL]";
42 return StatusCode::FAILURE;
51 return StatusCode::FAILURE;
56 if (service(
"DetectorStore",
detStore).isFailure()) {
58 return StatusCode::FAILURE;
64 const TRT_ID* idhelper(
nullptr);
65 if (
detStore->retrieve(idhelper,
"TRT_ID").isFailure()) {
67 return StatusCode::FAILURE;
80 return StatusCode::SUCCESS;
85 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 TRT_LoLumRawData concrete type objects");
102 ATH_MSG_FATAL(
"Converter not implemented for this concrete type " );
103 throw "Converter not implemented";
106 ATH_MSG_WARNING(
"Container has only empty collections. Using TP1 converter");
114 if(converter_num == 1) {
126 static const pool::Guid p0_guid(
"5DB01CED-F6FD-4866-A1C6-E046641E44F5");
127 static const pool::Guid p1_guid(
"CFBDB7A8-C788-4EE7-A260-3C8B680234FE");
128 static const pool::Guid TP1_guid(
"DA76970C-E019-43D2-B2F9-25660DCECD9D");
129 static const pool::Guid TP2_guid(
"7138342E-0A80-4A32-A387-2842A01C2539");
130 static const pool::Guid TP3_guid(
"D0313948-9BC8-415F-BE58-7BA8178F93CD");
134 ATH_MSG_DEBUG(
"createTransient(): New TP version - TP3 branch");
135 std::unique_ptr< InDetRawDataContainer_p3 > col_vect( poolReadObject< InDetRawDataContainer_p3 >() );
137 ATH_MSG_DEBUG(
"createTransient(), TP3 branch: returns TRANS = "<<shortPrint(
res));
141 ATH_MSG_DEBUG(
"createTransient(): New TP version - TP2 branch");
142 std::unique_ptr< InDetRawDataContainer_p2 > col_vect( poolReadObject< InDetRawDataContainer_p2 >() );
144 ATH_MSG_DEBUG(
"createTransient(), TP2 branch: returns TRANS = "<<shortPrint(
res));
148 ATH_MSG_DEBUG(
"createTransient(): New TP version - TP1 branch");
149 std::unique_ptr< InDetRawDataContainer_p1 > col_vect( poolReadObject< InDetRawDataContainer_p1 >() );
151 ATH_MSG_DEBUG(
"createTransient(), TP1 branch: returns TRANS = "<<shortPrint(
res));
155 ATH_MSG_DEBUG(
"createTransient(): New input file - p1 branch");
156 std::unique_ptr< TRT_RDO_Container_p1 > col_vect( poolReadObject< TRT_RDO_Container_p1 >() );
158 ATH_MSG_DEBUG(
"createTransient(), p1 branch: returns TRANS = "<<shortPrint(
res));
162 ATH_MSG_DEBUG(
"createTransient(): Old input file - p0 branch");
163 std::unique_ptr< TRT_RDO_Container_p0 > col_vect( poolReadObject< TRT_RDO_Container_p0 >() );
165 ATH_MSG_DEBUG(
"createTransient(), p0 branch: returns TRANS = "<<shortPrint(
res));
168 throw std::runtime_error(
"Unsupported persistent version of TRT_RDO_Container");
virtual TRT_RDO_Container * createTransient(const InDetRawDataContainer_p3 *persObj, MsgStream &log)
void initialize(const TRT_ID *idhelper, StoreGateSvc *sg)
TRT_LoLumRawDataContainerCnv_p1 m_converter_TP1
TRT_LoLumRawDataContainerCnv_p3 m_converter_TP3
This is an Identifier helper class for the TRT subdetector. This class is a factory for creating comp...
virtual TRT_RDO_Container_PERS * createPersistent(TRT_RDO_Container *transCont)
void initialize(const TRT_ID *idhelper)
virtual PERS * createPersistent(const TRANS *transObj, MsgStream &log)
Create persistent representation of a transient object.
TRT_RDO_ContainerCnv_p1 m_converter_p1
TRT_RDO_ContainerCnv_p0 m_converter_p0
The Athena Transient Store API.
virtual TRT_RDO_Container * createTransient(const TRT_RDO_Container_p1 *persObj, MsgStream &log)
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual TRT_RDO_Container * createTransient(const InDetRawDataContainer_p2 *persObj, MsgStream &log)
void initialize(const TRT_ID *idhelper)
TRT_LoLumRawDataContainerCnv_p2 m_converter_TP2
void initialize(const TRT_ID *idhelper)
virtual TRT_RDO_Container * createTransient(const InDetRawDataContainer_p1 *persObj, MsgStream &log)
std::pair< std::vector< unsigned int >, bool > res
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.
TRT_RDO_ContainerCnv_PERS m_converter_PERS
virtual StatusCode initialize()
Gaudi Service Interface method implementations:
void initialize(const TRT_ID *idhelper)
virtual TRT_RDO_Container * createTransient()
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,...
#define ATH_MSG_WARNING(x)
StoreGateSvc * m_storeGate
virtual bool compareClassGuid(const Guid &clid) const
Compare POOL class GUID with the one of the object being read.
virtual StatusCode initialize()
Gaudi Service Interface method implementations:
virtual TRT_RDO_Container * createTransient(const TRT_RDO_Container_p0 *persObj, MsgStream &log)