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())
95 for (
int sector = 1; sector <= numSectors; sector++) {
103 double x = -width / 2.;
104 double y = -height / 2.;
108 double phi = atan2(direction.
y(), direction.
x());
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();
align::Scalar width() const
Local3DVector LocalVector
const edm::EventSetup & c
uint16_t *__restrict__ id
MuonGeometrySVGTemplate(const edm::ParameterSet &iConfig)
#define DEFINE_FWK_MODULE(type)
AlignableNavigator * getAlignableNavigator()
const AlignableSurface & surface() const
Return the Surface (global position and orientation) of the object.
std::string m_wheelTemplateName
void analyze(const edm::Event &, const edm::EventSetup &iConfig) override
align::GlobalPoints toGlobal(const align::LocalPoints &) const
Return in global coord given a set of local points.
std::string fullPath() const
~MuonGeometrySVGTemplate() override
const PositionType & position() const
AlignableDetOrUnitPtr alignableFromDetId(const DetId &detid)
Returns AlignableDetOrUnitPtr corresponding to given DetId.