|
ATLAS Offline Software
|
Go to the documentation of this file.
17 std::string shortPrint(
const SCT_RDO_Container* main_input_SCT,
unsigned maxprint=25) {
18 std::ostringstream
os;
20 for (
unsigned i=0;
i<maxprint;
i++) {
31 os<<
" [SCT_RDO_Container==nullptr]";
50 const SCT_ID* idhelper(
nullptr);
61 return StatusCode::SUCCESS;
68 ATH_MSG_DEBUG(
"createPersistent(): main converter. TRANS = "<<shortPrint(transCont));
74 unsigned int converter_num(1);
78 if (it_Coll != it_CollEnd) {
79 while (it_Coll != it_CollEnd && (*it_Coll)->size() == 0) ++it_Coll;
80 if (it_Coll != it_CollEnd) {
89 ATH_MSG_FATAL(
"Converter not implemented for this concrete type ");
90 throw "Converter not implemented";
93 ATH_MSG_WARNING(
"Container has only empty collections. Using TP1 converter");
101 if (converter_num == 1 || converter_num == 3) {
116 static const pool::Guid p0_guid(
"B82A1D11-3F86-4F07-B380-B61BA2DAF3A9");
117 static const pool::Guid TP1_guid(
"DA76970C-E019-43D2-B2F9-25660DCECD9D");
118 static const pool::Guid SCT_TP1_guid(
"8E13963E-13E5-4D10-AA8B-73F00AFF8FA8");
119 static const pool::Guid SCT_TP2_guid(
"D1258125-2CBA-476E-8578-E09D54F477E1");
120 static const pool::Guid SCT_TP3_guid(
"5FBC8D4D-7B4D-433A-8487-0EA0C870CBDB");
121 static const pool::Guid SCT_TP4_guid(
"6C7540BE-E85C-4777-BC1C-A9FF11460F54");
128 ATH_MSG_DEBUG(
"createTransient(): New TP version - TP4 branch");
131 std::unique_ptr< SCT_RawDataContainer_p4 > col_vect( poolReadObject< SCT_RawDataContainer_p4 >() );
134 ATH_MSG_DEBUG(
"createTransient(), TP4 branch: returns TRANS = "<<shortPrint(
res));
141 ATH_MSG_DEBUG(
"createTransient(): New TP version - TP3 branch");
144 std::unique_ptr< SCT_RawDataContainer_p3 > col_vect( poolReadObject< SCT_RawDataContainer_p3 >() );
147 ATH_MSG_DEBUG(
"createTransient(), TP3 branch: returns TRANS = "<<shortPrint(
res));
154 ATH_MSG_DEBUG(
"createTransient(): New TP version - TP2 branch");
157 std::unique_ptr< SCT_RawDataContainer_p2 > col_vect( poolReadObject< SCT_RawDataContainer_p2 >() );
160 ATH_MSG_DEBUG(
"createTransient(), TP2 branch: returns TRANS = "<<shortPrint(
res));
167 ATH_MSG_DEBUG(
"createTransient(): New TP version - TP1 branch");
169 std::unique_ptr< SCT_RawDataContainer_p1 > col_vect( poolReadObject< SCT_RawDataContainer_p1 >() );
172 ATH_MSG_DEBUG(
"createTransient(), TP1 branch: returns TRANS = "<<shortPrint(
res));
179 ATH_MSG_DEBUG(
"createTransient(): New TP version - TP1 branch");
181 std::unique_ptr< InDetRawDataContainer_p1 > col_vect( poolReadObject< InDetRawDataContainer_p1 >() );
184 ATH_MSG_DEBUG(
"createTransient(), TP1 branch: returns TRANS = "<<shortPrint(
res));
192 ATH_MSG_DEBUG(
"createTransient(): Old input file - p0 branch");
194 std::unique_ptr< SCT_RDO_Container_p0 > col_vect( poolReadObject< SCT_RDO_Container_p0 >() );
197 ATH_MSG_DEBUG(
"createTransient(), p0 branch: returns TRANS = "<<shortPrint(
res));
202 throw std::runtime_error(
"Unsupported persistent version of SCT_RDO_Container");
def retrieve(aClass, aKey=None)
This is an Identifier helper class for the SCT subdetector. This class is a factory for creating comp...
SCT_RawDataContainerCnv_p1 m_converter_SCT_TP1
SCT_RawDataContainerCnv_p2 m_converter_SCT_TP2
virtual SCT_RDO_Container * createTransient(const InDetRawDataContainer_p1 *persObj, MsgStream &log)
SCT_RDO_ContainerCnv(ISvcLocator *svcloc)
virtual PERS * createPersistent(const TRANS *transObj, MsgStream &log)
Create persistent representation of a transient object.
virtual SCT_RDO_Container * createTransient(const SCT_RawDataContainer_p2 *persObj, MsgStream &log)
virtual SCT_RDO_Container * createTransient(const SCT_RawDataContainer_p4 *persObj, MsgStream &log)
Compatibility for old converter classes that don't get passed the key.
void initialize(const SCT_ID *idhelper)
::StatusCode StatusCode
StatusCode definition for legacy code.
SCT_RDO_ContainerCnv_PERS m_converter_PERS
std::pair< std::vector< unsigned int >, bool > res
virtual SCT_RDO_Container * createTransient(const SCT_RawDataContainer_p3 *persObj, MsgStream &log)
const_iterator end() const
return const_iterator for end of container
SCT_RawDataContainerCnv_p3 m_converter_SCT_TP3
const_iterator begin() const
return const_iterator for first entry
const ServiceHandle< StoreGateSvc > & detStore() const
Handle to DetectorStore.
SCT_RDO_ContainerCnv_p0 m_converter_p0
virtual StatusCode initialize() override
Gaudi Service Interface method implementations:
virtual SCT_RDO_Container * createTransient(const SCT_RawDataContainer_p1 *persObj, MsgStream &log)
MsgStream & msg() const
The standard message stream.
SCT_RawDataContainerCnv_p4 m_converter_SCT_TP4
virtual SCT_RDO_Container_PERS * createPersistent(SCT_RDO_Container *transCont) override
Persistent represenation of an SCT_RawDataContainer.
SCT1_RawDataContainerCnv_p1 m_converter_TP1
void initialize(const SCT_ID *idhelper)
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,...
void initialize(const SCT_ID *idhelper)
virtual SCT_RDO_Container * createTransient(const SCT_RDO_Container_p0 *persObj, MsgStream &log)
void initialize(const SCT_ID *idhelper)
#define ATH_MSG_WARNING(x)
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:
void initialize(const SCT_ID *idhelper)
void initialize(const SCT_ID *idhelper)
virtual SCT_RDO_Container * createTransient() override