|
ATLAS Offline Software
|
Go to the documentation of this file.
19 #include "TMemberStreamer.h"
60 TClass*
cls =
conv->GetTransClass();
69 cmap[
conv->GetCheckSum()] = std::make_pair (
conv, takeown);
83 TClass*
cl = gROOT->GetClass (convname);
84 if (!
cl)
return false;
85 TClass* basecl = gROOT->GetClass (
"TVirtualConverter");
86 int offs =
cl->GetBaseClassOffset (basecl);
87 if (offs < 0)
return false;
88 char* cnv =
reinterpret_cast<char*
> (
cl->New());
104 MapType::const_iterator
i =
fMap.find (
name);
105 if (
i !=
fMap.end()) {
106 CheckSumMap::const_iterator i2 =
i->second.find (checksum);
107 if (i2 !=
i->second.end())
108 return i2->second.first;
115 const std::string& to_type,
116 TMemberStreamer* streamer)
119 std::string
key = from_type +
"-" + to_type;
120 SMapType::const_iterator
i =
fSMap.find (
key);
129 const std::string& to_type)
const
132 std::string
key = from_type +
"-" + to_type;
133 SMapType::const_iterator
i =
fSMap.find (
key);
161 j !=
i->second.end();
164 if (j->second.second)
165 delete j->second.first;
JetConstituentVector::iterator iterator
void TConvertingBranchElement_init()
To allow calling Initialize without having to depend on the header.
std::map< UInt_t, Payload > CheckSumMap
TMemberStreamer * GetStreamerConverter(const std::string &from_type, const std::string &to_type) const
~TConverterRegistry()
Destructor.
Root streamer that calls our converter when reading in non-split mode.
Base class for Root converters.
std::mutex fMutex
Protect access to the map.
Base class for converters for Root schema evolution.
std::lock_guard< std::mutex > lock_t
void AddStreamerConverter(const std::string &from_type, const std::string &to_type, TMemberStreamer *streamer)
Registry for Root converters.
Root streamer that calls our converters when reading in non-split mode.
MapType fMap
Map of registered converters.
void AddConverter(TVirtualConverter *conv)
Add a new converter to the registry.
Registry for Root converters.
static TConverterRegistry * Instance()
Return a pointer to the global registry instance.
#define ATLAS_THREAD_SAFE
TVirtualConverter * GetConverter(const char *name, int checksum) const
Look up a converter in the registry by name and checksum.
Define macros for attributes used to control the static checker.
cl
print [x.__class__ for x in toList(dqregion.getSubRegions()) ]