This class provides the manager for ROOT custom streamers.
More...
#include <AthenaRootStreamerSvc.h>
This class provides the manager for ROOT custom streamers.
- Author
- Marcin Nowak
Definition at line 29 of file AthenaRootStreamerSvc.h.
◆ ConverterPair_t
vector of converters created by the service, (as Reflex Objects) kept so they can be deleted at the end
Definition at line 65 of file AthenaRootStreamerSvc.h.
◆ ConverterVector_t
◆ StreamerMap
◆ AthenaRootStreamerSvc()
AthenaRootStreamerSvc::AthenaRootStreamerSvc |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
pSvcLocator |
|
) |
| |
◆ ~AthenaRootStreamerSvc()
AthenaRootStreamerSvc::~AthenaRootStreamerSvc |
( |
| ) |
|
|
virtual |
◆ AddStreamer() [1/2]
StatusCode AthenaRootStreamerSvc::AddStreamer |
( |
const std::string & |
converter_classname, |
|
|
bool |
adopt = true |
|
) |
| |
|
virtual |
Definition at line 97 of file AthenaRootStreamerSvc.cxx.
99 RootType streamer_class( converter_classname );
100 if( !streamer_class ) {
103 static std::once_flag libLoadFlag;
104 std::call_once( libLoadFlag, []( TInterpreter& interpreter ) {
108 interpreter.LoadLibraryMap();
109 interpreter.SetClassAutoloading(
true );
114 gInterpreter->AutoLoad( converter_classname.c_str() );
117 streamer_class =
RootType( converter_classname );
118 if( ! streamer_class ) {
120 <<
"> in the dictionary, and autoloading failed" );
121 return(StatusCode::FAILURE);
123 log <<
MSG::DEBUG <<
"Loaded dictionary for class " << converter_classname
128 void*
obj = streamer_class.Construct();
◆ AddStreamer() [2/2]
Definition at line 134 of file AthenaRootStreamerSvc.cxx.
136 const std::string &classname = converter->
ClassName();
142 auto convH = std::make_unique<AthenaRootConverterHandle>(converter);
143 if( streamer->
AddConverter(std::move(convH)).isFailure() ) {
145 <<
" already has a converter for checksum = "
147 return(StatusCode::FAILURE);
150 <<
" added converter for checksum = "
156 return(StatusCode::SUCCESS);
◆ AdoptAllStreamers()
StatusCode AthenaRootStreamerSvc::AdoptAllStreamers |
( |
| ) |
|
|
virtual |
◆ AdoptStreamerForClass()
StatusCode AthenaRootStreamerSvc::AdoptStreamerForClass |
( |
const std::string & |
class_name | ) |
|
|
virtual |
Definition at line 161 of file AthenaRootStreamerSvc.cxx.
165 <<
" with has no converters defined" );
166 return(StatusCode::FAILURE);
170 return(StatusCode::SUCCESS);
173 return(StatusCode::FAILURE);
◆ finalize()
StatusCode AthenaRootStreamerSvc::finalize |
( |
| ) |
|
|
virtual |
◆ initialize()
StatusCode AthenaRootStreamerSvc::initialize |
( |
| ) |
|
|
virtual |
◆ type()
const InterfaceID & AthenaRootStreamerSvc::type |
( |
| ) |
const |
|
virtual |
◆ m_createdConverters
◆ m_streamerClassNames
StringArrayProperty AthenaRootStreamerSvc::m_streamerClassNames |
|
private |
◆ m_streamerMap
The documentation for this class was generated from the following files: