Main Page
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
o
p
q
r
s
t
u
v
w
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Properties
_
a
d
e
f
l
m
o
p
s
t
u
v
Related Functions
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Package Documentation
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
GeometryReaders
XMLIdealGeometryESSource
src
XMLIdealMagneticFieldGeometryESProducer.cc
Go to the documentation of this file.
1
#include "
FWCore/Framework/interface/ModuleFactory.h
"
2
#include "
FWCore/Framework/interface/ESProducer.h
"
3
4
#include "
FWCore/Framework/interface/ESHandle.h
"
5
#include "
FWCore/Framework/interface/ESTransientHandle.h
"
6
7
#include "
DetectorDescription/Core/interface/DDCompactView.h
"
8
#include "
DetectorDescription/Core/interface/DDRoot.h
"
9
#include "
DetectorDescription/Parser/interface/DDLParser.h
"
10
#include "
CondFormats/Common/interface/FileBlob.h
"
11
#include "
MagneticField/Records/interface/IdealMagneticFieldRecord.h
"
12
13
#include "
DetectorDescription/Core/interface/DDMaterial.h
"
14
#include "
DetectorDescription/Core/interface/DDSolid.h
"
15
#include "
DetectorDescription/Core/interface/DDSpecifics.h
"
16
#include "
DetectorDescription/Core/interface/DDRotationMatrix.h
"
17
18
#include "
DetectorDescription/Core/src/Material.h
"
19
#include "
DetectorDescription/Core/src/Solid.h
"
20
#include "
DetectorDescription/Core/src/LogicalPart.h
"
21
#include "
DetectorDescription/Core/src/Specific.h
"
22
23
#include <memory>
24
25
class
XMLIdealMagneticFieldGeometryESProducer
:
public
edm::ESProducer
{
26
public
:
27
XMLIdealMagneticFieldGeometryESProducer
(
const
edm::ParameterSet
&);
28
~XMLIdealMagneticFieldGeometryESProducer
()
override
;
29
30
typedef
std::unique_ptr<DDCompactView>
ReturnType
;
31
32
ReturnType
produce
(
const
IdealMagneticFieldRecord
&);
33
34
private
:
35
std::string
rootDDName_
;
// this must be the form namespace:name
36
std::string
label_
;
37
38
DDI::Store<DDName, DDI::Material*>
matStore_
;
39
DDI::Store<DDName, DDI::Solid*>
solidStore_
;
40
DDI::Store<DDName, DDI::LogicalPart*>
lpStore_
;
41
DDI::Store<DDName, DDI::Specific*>
specStore_
;
42
DDI::Store<DDName, DDRotationMatrix*>
rotStore_
;
43
};
44
45
XMLIdealMagneticFieldGeometryESProducer::XMLIdealMagneticFieldGeometryESProducer
(
const
edm::ParameterSet
& iConfig)
46
: rootDDName_(iConfig.getParameter<
std
::
string
>(
"rootDDName"
)), label_(iConfig.getParameter<
std
::
string
>(
"label"
)) {
47
setWhatProduced
(
this
);
48
}
49
50
XMLIdealMagneticFieldGeometryESProducer::~XMLIdealMagneticFieldGeometryESProducer
(
void
) {}
51
52
XMLIdealMagneticFieldGeometryESProducer::ReturnType
XMLIdealMagneticFieldGeometryESProducer::produce
(
53
const
IdealMagneticFieldRecord
& iRecord) {
54
using namespace
edm::es
;
55
56
edm::ESTransientHandle<FileBlob>
gdd;
57
iRecord.
getRecord
<
MFGeometryFileRcd
>().
get
(
label_
, gdd);
58
59
DDName
ddName(
rootDDName_
);
60
DDLogicalPart
rootNode(ddName);
61
DDRootDef::instance
().set(rootNode);
62
ReturnType
returnValue(
new
DDCompactView
(rootNode));
63
DDLParser
parser
(*returnValue);
64
parser
.getDDLSAX2FileHandler()->setUserNS(
true
);
65
parser
.clearFiles();
66
67
std::unique_ptr<std::vector<unsigned char> > tb = (*gdd).getUncompressedBlob();
68
69
parser
.parse(*tb, tb->size());
70
71
returnValue->lockdown();
72
73
return
returnValue;
74
}
75
76
DEFINE_FWK_EVENTSETUP_MODULE
(
XMLIdealMagneticFieldGeometryESProducer
);
edm::eventsetup::DependentRecordImplementation::getRecord
const DepRecordT getRecord() const
Definition:
DependentRecordImplementation.h:51
ESTransientHandle.h
ESHandle.h
DDName
DDName is used to identify DDD entities uniquely.
Definition:
DDName.h:15
DDI::Store< DDName, DDI::Material * >
XMLIdealMagneticFieldGeometryESProducer::rootDDName_
std::string rootDDName_
Definition:
XMLIdealMagneticFieldGeometryESProducer.cc:35
edm::ESProducer::setWhatProduced
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
Definition:
ESProducer.h:138
XMLIdealMagneticFieldGeometryESProducer::ReturnType
std::unique_ptr< DDCompactView > ReturnType
Definition:
XMLIdealMagneticFieldGeometryESProducer.cc:30
ESProducer.h
writedatasetfile.parser
parser
Definition:
writedatasetfile.py:7
DDLParser.h
Specific.h
FileBlob.h
DDCompactView.h
Solid.h
IdealMagneticFieldRecord
Definition:
IdealMagneticFieldRecord.h:11
XMLIdealMagneticFieldGeometryESProducer::solidStore_
DDI::Store< DDName, DDI::Solid * > solidStore_
Definition:
XMLIdealMagneticFieldGeometryESProducer.cc:39
LogicalPart.h
DDCompactView
Compact representation of the geometrical detector hierarchy.
Definition:
DDCompactView.h:80
IdealMagneticFieldRecord.h
DDSolid.h
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:256
edm::ParameterSet
Definition:
ParameterSet.h:36
DDI::Singleton::instance
static value_type & instance()
DDSpecifics.h
XMLIdealMagneticFieldGeometryESProducer::matStore_
DDI::Store< DDName, DDI::Material * > matStore_
Definition:
XMLIdealMagneticFieldGeometryESProducer.cc:38
DDLParser
DDLParser is the main class of Detector Description Language Parser.
Definition:
DDLParser.h:63
DDLogicalPart
A DDLogicalPart aggregates information concerning material, solid and sensitveness ....
Definition:
DDLogicalPart.h:93
DDMaterial.h
get
#define get
edm::ESTransientHandle
Definition:
ESTransientHandle.h:41
XMLIdealMagneticFieldGeometryESProducer::specStore_
DDI::Store< DDName, DDI::Specific * > specStore_
Definition:
XMLIdealMagneticFieldGeometryESProducer.cc:41
ModuleFactory.h
std
Definition:
JetResolutionObject.h:76
DDRoot.h
XMLIdealMagneticFieldGeometryESProducer
Definition:
XMLIdealMagneticFieldGeometryESProducer.cc:25
DEFINE_FWK_EVENTSETUP_MODULE
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
Definition:
ModuleFactory.h:60
XMLIdealMagneticFieldGeometryESProducer::produce
ReturnType produce(const IdealMagneticFieldRecord &)
Definition:
XMLIdealMagneticFieldGeometryESProducer.cc:52
edm::es
Definition:
es_Label.h:33
XMLIdealMagneticFieldGeometryESProducer::lpStore_
DDI::Store< DDName, DDI::LogicalPart * > lpStore_
Definition:
XMLIdealMagneticFieldGeometryESProducer.cc:40
XMLIdealMagneticFieldGeometryESProducer::label_
std::string label_
Definition:
XMLIdealMagneticFieldGeometryESProducer.cc:36
edm::ESProducer
Definition:
ESProducer.h:101
XMLIdealMagneticFieldGeometryESProducer::rotStore_
DDI::Store< DDName, DDRotationMatrix * > rotStore_
Definition:
XMLIdealMagneticFieldGeometryESProducer.cc:42
XMLIdealMagneticFieldGeometryESProducer::~XMLIdealMagneticFieldGeometryESProducer
~XMLIdealMagneticFieldGeometryESProducer() override
Definition:
XMLIdealMagneticFieldGeometryESProducer.cc:50
XMLIdealMagneticFieldGeometryESProducer::XMLIdealMagneticFieldGeometryESProducer
XMLIdealMagneticFieldGeometryESProducer(const edm::ParameterSet &)
Definition:
XMLIdealMagneticFieldGeometryESProducer.cc:45
MFGeometryFileRcd
Definition:
MFGeometryFileRcd.h:5
Material.h
DDRotationMatrix.h
Generated for CMSSW Reference Manual by
1.8.16