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
DetectorDescription
DDCMS
src
DDDetector.cc
Go to the documentation of this file.
1
#include "
DetectorDescription/DDCMS/interface/DDDetector.h
"
2
#include "
FWCore/MessageLogger/interface/MessageLogger.h
"
3
#include <DD4hep/Detector.h>
4
#include <DD4hep/DetectorTools.h>
5
#include <DD4hep/Volumes.h>
6
#include <XML/DocumentHandler.h>
7
#include <XML/XMLElements.h>
8
9
#include <iostream>
10
11
namespace
cms
{
12
13
DDDetector::DDDetector
(
const
std::string
&
tag
,
const
std::string
&
fileName
,
bool
bigXML) : m_tag(
tag
) {
14
m_description
= &dd4hep::Detector::getInstance(
tag
);
15
m_description
->addExtension<
cms::DDVectorsMap
>(&
m_vectors
);
16
m_description
->addExtension<dd4hep::PartSelectionMap>(&
m_partsels
);
17
m_description
->addExtension<dd4hep::SpecParRegistry>(&
m_specpars
);
18
if
(bigXML)
19
processXML
(
fileName
);
20
else
21
process
(
fileName
);
22
}
23
24
void
DDDetector::process
(
const
std::string
&
fileName
) {
25
std::string
name
(
"DD4hep_CompactLoader"
);
26
const
char
*
files
[] = {
fileName
.c_str(),
nullptr
};
27
m_description
->apply(
name
.c_str(), 2, (
char
**)
files
);
28
}
29
30
void
DDDetector::processXML
(
const
std::string
& xml) {
31
edm::LogVerbatim
(
"Geometry"
) <<
"DDDetector::processXML process string size "
<< xml.size() <<
" with max_size "
32
<< xml.max_size();
33
std::string
name
(
"DD4hep_XMLProcessor"
);
34
dd4hep::xml::DocumentHolder
doc
(dd4hep::xml::DocumentHandler().
parse
(xml.c_str(), xml.length()));
35
36
char
*
args
[] = {(
char
*)
doc
.root().ptr(),
nullptr
};
37
m_description
->apply(
name
.c_str(), 1, (
char
**)
args
);
38
}
39
40
dd4hep::Volume
DDDetector::worldVolume
()
const
{
41
assert
(
m_description
);
42
return
m_description
->worldVolume();
43
}
44
45
dd4hep::DetElement
DDDetector::world
()
const
{
46
assert
(
m_description
);
47
return
m_description
->world();
48
}
49
50
TGeoManager&
DDDetector::manager
()
const
{
51
assert
(
m_description
);
52
return
m_description
->manager();
53
}
54
55
dd4hep::DetElement
DDDetector::findElement
(
const
std::string
&
path
)
const
{
56
assert
(
m_description
);
57
return
dd4hep::detail::tools::findElement(*
m_description
,
path
);
58
}
59
}
// namespace cms
writedatasetfile.args
args
Definition:
writedatasetfile.py:18
cms::DDDetector::manager
TGeoManager & manager() const
The geometry manager of this instance.
Definition:
DDDetector.cc:50
common_cff.doc
doc
Definition:
common_cff.py:54
MessageLogger.h
cms::DDDetector::world
dd4hep::DetElement world() const
Reference to the top-most (world) detector element.
Definition:
DDDetector.cc:45
cms::cuda::assert
assert(be >=bs)
cms::DDDetector::DDDetector
DDDetector()=delete
MillePedeFileConverter_cfg.fileName
fileName
Definition:
MillePedeFileConverter_cfg.py:32
DDDetector.h
submitPVResolutionJobs.files
files
Definition:
submitPVResolutionJobs.py:373
GlobalPosition_Frontier_DevDB_cff.tag
tag
Definition:
GlobalPosition_Frontier_DevDB_cff.py:11
cms::DDDetector::process
void process(const std::string &)
Definition:
DDDetector.cc:24
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:256
cms::DDDetector::m_partsels
dd4hep::PartSelectionMap m_partsels
Definition:
DDDetector.h:43
cms::Volume
dd4hep::Volume Volume
Definition:
DDFilteredView.h:47
dumpparser.parse
def parse(path, config)
Definition:
dumpparser.py:13
cms::DDDetector::worldVolume
dd4hep::Volume worldVolume() const
Handle to the world volume containing everything.
Definition:
DDDetector.cc:40
cms::DDDetector::m_specpars
dd4hep::SpecParRegistry m_specpars
Definition:
DDDetector.h:44
edm::LogVerbatim
Log< level::Info, true > LogVerbatim
Definition:
MessageLogger.h:128
cms::DDDetector::m_vectors
cms::DDVectorsMap m_vectors
Definition:
DDDetector.h:42
cms::DDVectorsMap
std::unordered_map< std::string, std::vector< double > > DDVectorsMap
Definition:
DDNamespace.h:14
cms::DDDetector::processXML
void processXML(const std::string &)
Definition:
DDDetector.cc:30
Skims_PA_cff.name
name
Definition:
Skims_PA_cff.py:17
castor_dqm_sourceclient_file_cfg.path
path
Definition:
castor_dqm_sourceclient_file_cfg.py:37
cms::DDDetector::m_description
dd4hep::Detector * m_description
Definition:
DDDetector.h:41
cms::DDDetector::findElement
dd4hep::DetElement findElement(const std::string &) const
Find DetElement as child of the top level volume by it's absolute path.
Definition:
DDDetector.cc:55
cms
Namespace of DDCMS conversion namespace.
Definition:
ProducerAnalyzer.cc:21
Generated for CMSSW Reference Manual by
1.8.16