66 : m_wheelTemplateName(iConfig.getParameter<
std::
string>(
"wheelTemplateName")) {}
77 edm::FileInPath fip_BEGINNING(
"Alignment/MuonAlignment/data/wheel_template.svg_BEGINNING");
78 std::ifstream in_BEGINNING(fip_BEGINNING.
fullPath().c_str());
79 edm::FileInPath fip_END(
"Alignment/MuonAlignment/data/wheel_template.svg_END");
80 std::ifstream in_END(fip_END.fullPath().c_str());
82 const double height = 45.;
85 while (in_BEGINNING.good()) {
86 char c = (char)in_BEGINNING.get();
87 if (in_BEGINNING.good())
104 double y = -height / 2.;
108 double phi =
atan2(direction.
y(), direction.
x());
111 double tx =
chamber->surface().position().x();
112 double ty =
chamber->surface().position().y();
114 out <<
" <rect id=\"MB_" <<
station <<
"_" <<
sector <<
"\" x=\"" <<
x <<
"\" y=\"" <<
y <<
"\" width=\"" 115 <<
width <<
"\" height=\"" << height <<
"\" transform=\"translate(" << tx <<
", " << ty <<
") rotate(" 117 <<
")\" style=\"fill:#e1e1e1;fill-opacity:1;stroke:#000000;stroke-width:5.0;stroke-dasharray:1, " 118 "1;stroke-dashoffset:0\" />" 123 while (in_END.good()) {
124 char c = (char)in_END.get();
Local3DVector LocalVector
MuonGeometrySVGTemplate(const edm::ParameterSet &iConfig)
#define DEFINE_FWK_MODULE(type)
std::string m_wheelTemplateName
void analyze(const edm::Event &, const edm::EventSetup &iConfig) override
~MuonGeometrySVGTemplate() override
const std::string & fullPath() const
AlignableDetOrUnitPtr alignableFromDetId(const DetId &detid)
Returns AlignableDetOrUnitPtr corresponding to given DetId.
MPlex< T, D1, D2, N > atan2(const MPlex< T, D1, D2, N > &y, const MPlex< T, D1, D2, N > &x)