CMS 3D CMS Logo

MuonAlignmentInputXML.h
Go to the documentation of this file.
1 #ifndef Alignment_MuonAlignment_MuonAlignmentInputXML_h
2 #define Alignment_MuonAlignment_MuonAlignmentInputXML_h
3 // -*- C++ -*-
4 //
5 // Package: MuonAlignment
6 // Class : MuonAlignmentInputXML
7 //
16 //
17 // Original Author: Jim Pivarski
18 // Created: Mon Mar 10 16:37:55 CDT 2008
19 // $Id: MuonAlignmentInputXML.h,v 1.8 2010/07/30 04:20:13 pivarski Exp $
20 //
21 
22 // system include files
23 #include <string>
24 #include "xercesc/dom/DOMElement.hpp"
25 #include "xercesc/util/XercesDefs.hpp"
26 
27 // user include files
30 
31 // forward declarations
32 
34 public:
36  ~MuonAlignmentInputXML() override;
37 
38  // ---------- const member functions ---------------------
39 
40  // ---------- static member functions --------------------
41 
42  // ---------- member functions ---------------------------
43 
44  AlignableMuon *newAlignableMuon(const edm::EventSetup &iSetup) const override;
45 
46 private:
47  MuonAlignmentInputXML(const MuonAlignmentInputXML &) = delete; // stop default
48 
49  const MuonAlignmentInputXML &operator=(const MuonAlignmentInputXML &) = delete; // stop default
50 
51  void recursiveGetId(std::map<unsigned int, Alignable *> &alignableNavigator,
52  const align::Alignables &alignables) const;
53 
54  void fillAliToIdeal(std::map<Alignable *, Alignable *> &alitoideal,
55  const align::Alignables &alignables,
56  const align::Alignables &ideals) const;
57 
58  Alignable *getNode(std::map<unsigned int, Alignable *> &alignableNavigator,
59  const XERCES_CPP_NAMESPACE::DOMElement *node,
60  const AlignableObjectId &) const;
62  std::map<unsigned int, Alignable *> &alignableNavigator,
63  const XERCES_CPP_NAMESPACE::DOMElement *node,
64  const AlignableObjectId &) const;
66  std::map<unsigned int, Alignable *> &alignableNavigator,
67  const XERCES_CPP_NAMESPACE::DOMElement *node,
68  const AlignableObjectId &) const;
69 
70  double parseDouble(const XMLCh *str, const char *attribute) const;
72 
73  void do_setposition(const XERCES_CPP_NAMESPACE::DOMElement *node,
74  std::map<Alignable *, bool> &aliset,
75  std::map<Alignable *, Alignable *> &alitoideal) const;
76  void do_setape(const XERCES_CPP_NAMESPACE::DOMElement *node,
77  std::map<Alignable *, bool> &aliset,
78  std::map<Alignable *, Alignable *> &alitoideal) const;
79  void do_setsurveyerr(const XERCES_CPP_NAMESPACE::DOMElement *node,
80  std::map<Alignable *, bool> &aliset,
81  std::map<Alignable *, Alignable *> &alitoideal) const;
82  void do_moveglobal(const XERCES_CPP_NAMESPACE::DOMElement *node,
83  std::map<Alignable *, bool> &aliset,
84  std::map<Alignable *, Alignable *> &alitoideal) const;
85  void do_movelocal(const XERCES_CPP_NAMESPACE::DOMElement *node,
86  std::map<Alignable *, bool> &aliset,
87  std::map<Alignable *, Alignable *> &alitoideal) const;
88  void do_rotatelocal(const XERCES_CPP_NAMESPACE::DOMElement *node,
89  std::map<Alignable *, bool> &aliset,
90  std::map<Alignable *, Alignable *> &alitoideal) const;
91  void do_rotatebeamline(const XERCES_CPP_NAMESPACE::DOMElement *node,
92  std::map<Alignable *, bool> &aliset,
93  std::map<Alignable *, Alignable *> &alitoideal) const;
94  void do_rotateglobalaxis(const XERCES_CPP_NAMESPACE::DOMElement *node,
95  std::map<Alignable *, bool> &aliset,
96  std::map<Alignable *, Alignable *> &alitoideal) const;
97 
98  // ---------- member data --------------------------------
100 
103  XMLCh *str_name;
104  XMLCh *str_DTBarrel;
105  XMLCh *str_DTWheel;
109  XMLCh *str_DTLayer;
112  XMLCh *str_CSCRing;
114  XMLCh *str_CSCLayer;
116  XMLCh *str_setape;
124  XMLCh *str_rawId;
125  XMLCh *str_wheel;
126  XMLCh *str_station;
127  XMLCh *str_sector;
129  XMLCh *str_layer;
130  XMLCh *str_endcap;
131  XMLCh *str_ring;
132  XMLCh *str_chamber;
133  XMLCh *str_axisx;
134  XMLCh *str_axisy;
135  XMLCh *str_axisz;
136  XMLCh *str_angle;
137  XMLCh *str_x;
138  XMLCh *str_y;
139  XMLCh *str_z;
140  XMLCh *str_phix;
141  XMLCh *str_phiy;
142  XMLCh *str_phiz;
143  XMLCh *str_alpha;
144  XMLCh *str_beta;
145  XMLCh *str_gamma;
146  XMLCh *str_rphi;
147  XMLCh *str_phi;
148  XMLCh *str_xx;
149  XMLCh *str_xy;
150  XMLCh *str_xz;
151  XMLCh *str_xa;
152  XMLCh *str_xb;
153  XMLCh *str_xc;
154  XMLCh *str_yy;
155  XMLCh *str_yz;
156  XMLCh *str_ya;
157  XMLCh *str_yb;
158  XMLCh *str_yc;
159  XMLCh *str_zz;
160  XMLCh *str_za;
161  XMLCh *str_zb;
162  XMLCh *str_zc;
163  XMLCh *str_aa;
164  XMLCh *str_ab;
165  XMLCh *str_ac;
166  XMLCh *str_bb;
167  XMLCh *str_bc;
168  XMLCh *str_cc;
169  XMLCh *str_none;
170  XMLCh *str_ideal;
172 };
173 
174 #endif
MuonAlignmentInputXML::str_ab
XMLCh * str_ab
Definition: MuonAlignmentInputXML.h:164
TkRotation< Scalar >
AlignableObjectId
Allows conversion between type and name, and vice-versa.
Definition: AlignableObjectId.h:12
MuonAlignmentInputXML::str_setsurveyerr
XMLCh * str_setsurveyerr
Definition: MuonAlignmentInputXML.h:117
MuonAlignmentInputMethod.h
MuonAlignmentInputXML::str_CSCRing
XMLCh * str_CSCRing
Definition: MuonAlignmentInputXML.h:112
MuonAlignmentInputXML::str_DTChamber
XMLCh * str_DTChamber
Definition: MuonAlignmentInputXML.h:107
MuonAlignmentInputXML::getNode
Alignable * getNode(std::map< unsigned int, Alignable * > &alignableNavigator, const XERCES_CPP_NAMESPACE::DOMElement *node, const AlignableObjectId &) const
Definition: MuonAlignmentInputXML.cc:445
MuonAlignmentInputXML::str_superlayer
XMLCh * str_superlayer
Definition: MuonAlignmentInputXML.h:128
MuonAlignmentInputXML::operator=
const MuonAlignmentInputXML & operator=(const MuonAlignmentInputXML &)=delete
MuonAlignmentInputXML::str_moveglobal
XMLCh * str_moveglobal
Definition: MuonAlignmentInputXML.h:118
MuonAlignmentInputXML::str_movelocal
XMLCh * str_movelocal
Definition: MuonAlignmentInputXML.h:119
MuonAlignmentInputXML::str_axisx
XMLCh * str_axisx
Definition: MuonAlignmentInputXML.h:133
MuonAlignmentInputXML::str_setape
XMLCh * str_setape
Definition: MuonAlignmentInputXML.h:116
MuonAlignmentInputXML::str_phix
XMLCh * str_phix
Definition: MuonAlignmentInputXML.h:140
Alignable
Definition: Alignable.h:27
MuonAlignmentInputXML::str_DTSuperLayer
XMLCh * str_DTSuperLayer
Definition: MuonAlignmentInputXML.h:108
pos
Definition: PixelAliasList.h:18
MuonAlignmentInputXML::str_endcap
XMLCh * str_endcap
Definition: MuonAlignmentInputXML.h:130
MuonAlignmentInputXML::recursiveGetId
void recursiveGetId(std::map< unsigned int, Alignable * > &alignableNavigator, const align::Alignables &alignables) const
Definition: MuonAlignmentInputXML.cc:218
MuonAlignmentInputXML::str_rotatelocal
XMLCh * str_rotatelocal
Definition: MuonAlignmentInputXML.h:120
MuonAlignmentInputXML::str_phiy
XMLCh * str_phiy
Definition: MuonAlignmentInputXML.h:141
MuonAlignmentInputXML::getDTnode
Alignable * getDTnode(align::StructureType structureType, std::map< unsigned int, Alignable * > &alignableNavigator, const XERCES_CPP_NAMESPACE::DOMElement *node, const AlignableObjectId &) const
Definition: MuonAlignmentInputXML.cc:474
MuonAlignmentInputXML::str_station
XMLCh * str_station
Definition: MuonAlignmentInputXML.h:126
MuonAlignmentInputXML::str_rphi
XMLCh * str_rphi
Definition: MuonAlignmentInputXML.h:146
MuonAlignmentInputXML::str_xb
XMLCh * str_xb
Definition: MuonAlignmentInputXML.h:152
MuonAlignmentInputXML::str_alpha
XMLCh * str_alpha
Definition: MuonAlignmentInputXML.h:143
MuonAlignmentInputXML
Definition: MuonAlignmentInputXML.h:33
MuonAlignmentInputXML::do_moveglobal
void do_moveglobal(const XERCES_CPP_NAMESPACE::DOMElement *node, std::map< Alignable *, bool > &aliset, std::map< Alignable *, Alignable * > &alitoideal) const
Definition: MuonAlignmentInputXML.cc:1137
MuonAlignmentInputXML::str_DTLayer
XMLCh * str_DTLayer
Definition: MuonAlignmentInputXML.h:109
MuonAlignmentInputXML::str_bb
XMLCh * str_bb
Definition: MuonAlignmentInputXML.h:166
MuonAlignmentInputXML::str_name
XMLCh * str_name
Definition: MuonAlignmentInputXML.h:103
MillePedeFileConverter_cfg.fileName
fileName
Definition: MillePedeFileConverter_cfg.py:32
MuonAlignmentInputXML::str_layer
XMLCh * str_layer
Definition: MuonAlignmentInputXML.h:129
MuonAlignmentInputXML::str_CSCStation
XMLCh * str_CSCStation
Definition: MuonAlignmentInputXML.h:111
MuonAlignmentInputXML::str_yy
XMLCh * str_yy
Definition: MuonAlignmentInputXML.h:154
MuonAlignmentInputXML::str_yz
XMLCh * str_yz
Definition: MuonAlignmentInputXML.h:155
MuonAlignmentInputXML::parseDouble
double parseDouble(const XMLCh *str, const char *attribute) const
Definition: MuonAlignmentInputXML.cc:659
MuonAlignmentInputXML::~MuonAlignmentInputXML
~MuonAlignmentInputXML() override
Definition: MuonAlignmentInputXML.cc:127
MuonAlignmentInputXML::str_CSCEndcap
XMLCh * str_CSCEndcap
Definition: MuonAlignmentInputXML.h:110
MuonAlignmentInputXML::str_axisy
XMLCh * str_axisy
Definition: MuonAlignmentInputXML.h:134
MuonAlignmentInputXML::do_movelocal
void do_movelocal(const XERCES_CPP_NAMESPACE::DOMElement *node, std::map< Alignable *, bool > &aliset, std::map< Alignable *, Alignable * > &alitoideal) const
Definition: MuonAlignmentInputXML.cc:1171
MuonAlignmentInputXML::do_rotatebeamline
void do_rotatebeamline(const XERCES_CPP_NAMESPACE::DOMElement *node, std::map< Alignable *, bool > &aliset, std::map< Alignable *, Alignable * > &alitoideal) const
Definition: MuonAlignmentInputXML.cc:1244
MuonAlignmentInputXML::str_xy
XMLCh * str_xy
Definition: MuonAlignmentInputXML.h:149
MuonAlignmentInputXML::do_setsurveyerr
void do_setsurveyerr(const XERCES_CPP_NAMESPACE::DOMElement *node, std::map< Alignable *, bool > &aliset, std::map< Alignable *, Alignable * > &alitoideal) const
Definition: MuonAlignmentInputXML.cc:1040
MuonAlignmentInputXML::str_angle
XMLCh * str_angle
Definition: MuonAlignmentInputXML.h:136
MuonAlignmentInputXML::str_CSCLayer
XMLCh * str_CSCLayer
Definition: MuonAlignmentInputXML.h:114
MuonAlignmentInputXML::str_collection
XMLCh * str_collection
Definition: MuonAlignmentInputXML.h:102
MuonAlignmentInputXML::str_xz
XMLCh * str_xz
Definition: MuonAlignmentInputXML.h:150
MuonAlignmentInputXML::str_ac
XMLCh * str_ac
Definition: MuonAlignmentInputXML.h:165
MuonAlignmentInputXML::str_yc
XMLCh * str_yc
Definition: MuonAlignmentInputXML.h:158
MuonAlignmentInputXML::m_fileName
std::string m_fileName
Definition: MuonAlignmentInputXML.h:99
str
#define str(s)
Definition: TestProcessor.cc:48
MuonAlignmentInputXML::str_zb
XMLCh * str_zb
Definition: MuonAlignmentInputXML.h:161
MuonAlignmentInputXML::str_operation
XMLCh * str_operation
Definition: MuonAlignmentInputXML.h:101
MuonAlignmentInputXML::str_phiz
XMLCh * str_phiz
Definition: MuonAlignmentInputXML.h:142
MuonAlignmentInputXML::str_xc
XMLCh * str_xc
Definition: MuonAlignmentInputXML.h:153
Point3DBase< Scalar, GlobalTag >
MuonAlignmentInputXML::str_rotateglobalaxis
XMLCh * str_rotateglobalaxis
Definition: MuonAlignmentInputXML.h:122
MuonAlignmentInputXML::getCSCnode
Alignable * getCSCnode(align::StructureType structureType, std::map< unsigned int, Alignable * > &alignableNavigator, const XERCES_CPP_NAMESPACE::DOMElement *node, const AlignableObjectId &) const
Definition: MuonAlignmentInputXML.cc:567
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
align::StructureType
StructureType
Definition: StructureType.h:16
MuonAlignmentInputXML::str_relativeto
XMLCh * str_relativeto
Definition: MuonAlignmentInputXML.h:123
MuonAlignmentInputXML::str_none
XMLCh * str_none
Definition: MuonAlignmentInputXML.h:169
MuonAlignmentInputXML::str_DTStation
XMLCh * str_DTStation
Definition: MuonAlignmentInputXML.h:106
MuonAlignmentInputXML::str_CSCChamber
XMLCh * str_CSCChamber
Definition: MuonAlignmentInputXML.h:113
MuonAlignmentInputXML::do_setposition
void do_setposition(const XERCES_CPP_NAMESPACE::DOMElement *node, std::map< Alignable *, bool > &aliset, std::map< Alignable *, Alignable * > &alitoideal) const
Definition: MuonAlignmentInputXML.cc:738
MuonAlignmentInputXML::str_y
XMLCh * str_y
Definition: MuonAlignmentInputXML.h:138
MuonAlignmentInputXML::str_rotatebeamline
XMLCh * str_rotatebeamline
Definition: MuonAlignmentInputXML.h:121
MuonAlignmentInputXML::str_phi
XMLCh * str_phi
Definition: MuonAlignmentInputXML.h:147
AlignableMuon
Constructor of the full muon geometry.
Definition: AlignableMuon.h:33
MuonAlignmentInputXML::do_setape
void do_setape(const XERCES_CPP_NAMESPACE::DOMElement *node, std::map< Alignable *, bool > &aliset, std::map< Alignable *, Alignable * > &alitoideal) const
Definition: MuonAlignmentInputXML.cc:943
MuonAlignmentInputXML::str_xx
XMLCh * str_xx
Definition: MuonAlignmentInputXML.h:148
MuonAlignmentInputXML::fillAliToIdeal
void fillAliToIdeal(std::map< Alignable *, Alignable * > &alitoideal, const align::Alignables &alignables, const align::Alignables &ideals) const
Definition: MuonAlignmentInputXML.cc:233
MuonAlignmentInputXML::str_za
XMLCh * str_za
Definition: MuonAlignmentInputXML.h:160
MuonAlignmentInputXML::str_zc
XMLCh * str_zc
Definition: MuonAlignmentInputXML.h:162
MuonAlignmentInputXML::str_wheel
XMLCh * str_wheel
Definition: MuonAlignmentInputXML.h:125
MuonAlignmentInputXML::str_bc
XMLCh * str_bc
Definition: MuonAlignmentInputXML.h:167
edm::EventSetup
Definition: EventSetup.h:57
MuonAlignmentInputXML::newAlignableMuon
AlignableMuon * newAlignableMuon(const edm::EventSetup &iSetup) const override
Definition: MuonAlignmentInputXML.cc:254
MuonAlignmentInputXML::do_rotatelocal
void do_rotatelocal(const XERCES_CPP_NAMESPACE::DOMElement *node, std::map< Alignable *, bool > &aliset, std::map< Alignable *, Alignable * > &alitoideal) const
Definition: MuonAlignmentInputXML.cc:1206
MuonAlignmentInputXML::str_gamma
XMLCh * str_gamma
Definition: MuonAlignmentInputXML.h:145
MuonAlignmentInputXML::str_container
XMLCh * str_container
Definition: MuonAlignmentInputXML.h:171
MuonAlignmentInputXML::str_zz
XMLCh * str_zz
Definition: MuonAlignmentInputXML.h:159
MuonAlignmentInputXML::str_z
XMLCh * str_z
Definition: MuonAlignmentInputXML.h:139
align::Alignables
std::vector< Alignable * > Alignables
Definition: Utilities.h:31
MuonAlignmentInputXML::str_xa
XMLCh * str_xa
Definition: MuonAlignmentInputXML.h:151
MuonAlignmentInputXML::str_ya
XMLCh * str_ya
Definition: MuonAlignmentInputXML.h:156
MuonAlignmentInputXML::str_aa
XMLCh * str_aa
Definition: MuonAlignmentInputXML.h:163
makeMuonMisalignmentScenario.rot
rot
Definition: makeMuonMisalignmentScenario.py:322
Alignable.h
MuonAlignmentInputXML::do_rotateglobalaxis
void do_rotateglobalaxis(const XERCES_CPP_NAMESPACE::DOMElement *node, std::map< Alignable *, bool > &aliset, std::map< Alignable *, Alignable * > &alitoideal) const
Definition: MuonAlignmentInputXML.cc:1288
MuonAlignmentInputXML::str_beta
XMLCh * str_beta
Definition: MuonAlignmentInputXML.h:144
MuonAlignmentInputXML::MuonAlignmentInputXML
MuonAlignmentInputXML(const std::string &fileName)
Definition: MuonAlignmentInputXML.cc:47
MuonAlignmentInputXML::set_one_position
void set_one_position(Alignable *ali, const align::PositionType &pos, const align::RotationType &rot) const
Definition: MuonAlignmentInputXML.cc:901
MuonAlignmentInputXML::str_ring
XMLCh * str_ring
Definition: MuonAlignmentInputXML.h:131
MuonAlignmentInputXML::str_sector
XMLCh * str_sector
Definition: MuonAlignmentInputXML.h:127
MuonAlignmentInputXML::str_cc
XMLCh * str_cc
Definition: MuonAlignmentInputXML.h:168
MuonAlignmentInputXML::str_DTBarrel
XMLCh * str_DTBarrel
Definition: MuonAlignmentInputXML.h:104
MuonAlignmentInputXML::str_axisz
XMLCh * str_axisz
Definition: MuonAlignmentInputXML.h:135
MuonAlignmentInputXML::str_ideal
XMLCh * str_ideal
Definition: MuonAlignmentInputXML.h:170
MuonAlignmentInputXML::str_rawId
XMLCh * str_rawId
Definition: MuonAlignmentInputXML.h:124
MuonAlignmentInputXML::str_chamber
XMLCh * str_chamber
Definition: MuonAlignmentInputXML.h:132
MuonAlignmentInputMethod
Definition: MuonAlignmentInputMethod.h:34
MuonAlignmentInputXML::str_x
XMLCh * str_x
Definition: MuonAlignmentInputXML.h:137
MuonAlignmentInputXML::str_DTWheel
XMLCh * str_DTWheel
Definition: MuonAlignmentInputXML.h:105
MuonAlignmentInputXML::str_setposition
XMLCh * str_setposition
Definition: MuonAlignmentInputXML.h:115
MuonAlignmentInputXML::str_yb
XMLCh * str_yb
Definition: MuonAlignmentInputXML.h:157