ATLAS Offline Software
Loading...
Searching...
No Matches
setConverterLibrary.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
10
11
13#include "Gaudi/PluginService.h"
14#include "TClass.h"
15
16
17using namespace Gaudi::PluginService;
18
19
20namespace DMTest {
21
22
23void setPluginLibrary ATLAS_NOT_THREAD_SAFE (const std::string& name, const std::string& lib)
24{
25 const Details::Registry& reg = Details::Registry::instance();
26 Details::Registry::FactoryMap& map =
27 const_cast<Details::Registry::FactoryMap&>(reg.factories());
28 Details::Registry::FactoryMap::iterator i = map.find (name);
29 if (i == map.end())
30 map.insert (std::make_pair (name, Details::Registry::FactoryInfo{lib}));
31 else
32 i->second = Details::Registry::FactoryInfo{lib};
33}
34
35
36void setConverterLibrary ATLAS_NOT_THREAD_SAFE (CLID clid, const std::string& lib)
37{
38 std::string name = "CNV_256_" + std::to_string (clid);
39 setPluginLibrary (name, lib);
40}
41
42
43void setConverterLibrary ATLAS_NOT_THREAD_SAFE (const std::string& lib)
44{
45 setConverterLibrary (9631, lib); // DMTest::BDer
46 setConverterLibrary (9632, lib); // DMTest::DDer
47 setConverterLibrary (9633, lib); // DataVector<DMTest::B>
48 setConverterLibrary (9634, lib); // DataVector<DMTest::D>
49 setConverterLibrary (9639, lib); // DMTest::ELVec
50 setConverterLibrary (9721, lib); // DMTest::CVec_v1
51 setConverterLibrary (9722, lib); // DMTest::CAuxContainer_v1
52 setConverterLibrary (9723, lib); // DMTest::CInfoAuxContainer_v1
53 setConverterLibrary (9724, lib); // DMTest::C_v1
54 setConverterLibrary (9725, lib); // DMTest::CTrigAuxContainer_v1
55 setConverterLibrary (9741, lib); // DMTest::GVec_v1
56 setConverterLibrary (9742, lib); // DMTest::GAuxContainer_v1
57 setConverterLibrary (9744, lib); // DMTest::G_v1
58 setConverterLibrary (9779, lib); // DMTest::CView_v1
59 setConverterLibrary (9841, lib); // DMTest::AllocTestContainer
60 setConverterLibrary (9842, lib); // DMTest::AllocTestAuxContainer
61 setConverterLibrary (9844, lib); // DMTest::AllocTest
62 setConverterLibrary (243020043, lib); // DMTest::S1
63 setConverterLibrary (243020042, lib); // DMTest::S2
64 setPluginLibrary ("_PERS_DMTest::HVec_v1", lib);
65 setPluginLibrary ("_PERS_DataVector<DMTest::H_v1>", lib);
66}
67
68
69void setTrigConverterLibrary ATLAS_NOT_THREAD_SAFE (CLID clid, const std::string& lib)
70{
71 std::string name = "CNV_81_" + std::to_string (clid);
72 setPluginLibrary (name, lib);
73}
74
75
76void setTrigConverterLibrary ATLAS_NOT_THREAD_SAFE (const std::string& lib)
77{
78 setTrigConverterLibrary (9781, lib); // DMTest::HVec
79 setTrigConverterLibrary (9782, lib); // DMTest::HAuxContainer
80 setTrigConverterLibrary (9787, lib); // DMTest::HView
81}
82
83
84} // namespace DMTest
85
86
87TClass* xclass (const char* s)
88{
89 return TClass::GetClass(s);
90}
91
92
93
uint32_t CLID
The Class ID type.
STL class.
Definition B.h:23
StatusCode HLTResultReader::initialize ATLAS_NOT_THREAD_SAFE()
Algorithm initialization; called at the beginning of the job.
TClass * xclass(const char *s)
Helper to explicitly set library for a converter.