|  | ATLAS Offline Software
    | 
 
 
 
Go to the documentation of this file.
   11 #include "GaudiKernel/System.h" 
   22                               const std::string& 
name,
 
   23                               const IInterface* 
parent) :
 
   25    m_msgsvcTP( 
"", 
name ),
 
   26    m_dictSvc( 
"AthDictLoaderSvc", 
name ),
 
   27    m_useAthDictLoader( true ),
 
   29    m_tpcnvsvc( 
"AthTPCnvSvc", 
name ) {
 
   31    declareInterface< TrigSerTPTool >( 
this );
 
   35                     "allows to skip classes not relevant in the current " 
   38                     "an instance of the messageSvc for debugging purposes" );
 
   40                     "simpler setup for running online" );
 
   42                     "use AthDictLoaderSvc instead of plain ROOT" );
 
   53          ATH_MSG_INFO( 
"Could not retrieve a separate MsgSvc for " 
   54                        "the T/P debugging" );
 
   58          m_logTP = std::make_unique< MsgStream >( msvc,
 
   59                                                   "TrigSerTPTool-T/P" );
 
   81    return StatusCode::SUCCESS;
 
  102                                 std::string &persName )
 const 
  112    const auto tpItr = 
m_TPmap.find( clname );
 
  115          << 
"Transient class " << clname 
 
  116          << 
" is not in the T/P Converter map";
 
  119    persName = tpItr->second;
 
  123       ATH_MSG_ERROR( 
"T/P Converter for transient class " << tpItr->first
 
  124                      << 
" persistent class " << persName << 
" could not be retrieved");
 
  129    const std::string persname =
 
  131    TClass *persObjCl = 
getClass( persname );
 
  134       persptr = persObjCl->New();
 
  135       ATH_MSG_DEBUG( 
"created object of " << persptr << 
" at " << persptr  );
 
  138          << 
"Couldn't find dictionary for type " << persname;
 
  150    catch( 
const std::runtime_error& 
e ){
 
  153       const std::string issue = 
e.what();
 
  154       if( issue.find( 
"is deprecated" ) != std::string::npos ) {
 
  167                                 std::string& transName )
 const 
  178          << 
"T/P Converter for persistent class " 
  179          << persName << 
" could not be retrieved";
 
  187    TClass *transCl = 
getClass( transName );
 
  190       trans = transCl->New();
 
  200    catch (
const std::runtime_error& 
e){
 
  214    const auto tpItr = 
m_TPmap.find( transClassName );
 
  217          << 
"Transient class " << transClassName
 
  218          << 
" is not in the T/P Converter map";
 
  219       static const std::string 
dummy( 
"" );
 
  224    return tpItr->second;
 
  233    cl = TClass::GetClass( cname.c_str() );
 
  
def persistent(transient)
void add(const ClassName &pattern, const ClassName &replacement)
Add a new transformation rule.
virtual const std::type_info & transientTInfo() const =0
return C++ type id of the transient class this converter is for
virtual void transToPersUntyped(const void *trans, void *pers, MsgStream &msg)=0
Convert transient object representation to persistent.
std::string typeinfoName(const std::type_info &ti)
Convert a type_info to a demangled string.
::StatusCode StatusCode
StatusCode definition for legacy code.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
std::string apply(const std::string &name) const
Apply transformations to a class name.
Helpers for checking error return status codes and reporting errors.
#define REPORT_MESSAGE(LVL)
Report a message.
virtual void persToTransWithKeyUntyped(const void *pers, void *trans, const std::string &, MsgStream &msg)
Convert persistent object representation to transient.
virtual const std::type_info & persistentTInfo() const =0
return C++ type id of the persistent class this converter is for
cl
print [x.__class__ for x in toList(dqregion.getSubRegions()) ]