75 : m_wheelTemplateName(iConfig.getParameter<std::
string>(
"wheelTemplateName"))
88 edm::FileInPath fip_BEGINNING(
"Alignment/MuonAlignment/data/wheel_template.svg_BEGINNING");
89 std::ifstream in_BEGINNING(fip_BEGINNING.
fullPath().c_str());
90 edm::FileInPath fip_END(
"Alignment/MuonAlignment/data/wheel_template.svg_END");
91 std::ifstream in_END(fip_END.fullPath().c_str());
93 const double height = 45.;
96 while (in_BEGINNING.good()) {
97 char c = (
char) in_BEGINNING.get();
98 if (in_BEGINNING.good())
out << c;
103 if (
station == 4) numSectors = 14;
104 for (
int sector = 1; sector <= numSectors; sector++) {
112 double x = -width/2.;
113 double y = -height/2.;
117 double phi = atan2(direction.
y(), direction.
x());
123 out <<
" <rect id=\"MB_" <<
station <<
"_" << sector <<
"\" x=\"" << x <<
"\" y=\"" << y <<
"\" width=\"" << width <<
"\" height=\"" << height <<
"\" transform=\"translate(" << tx <<
", " << ty <<
") rotate(" << phi*180./
M_PI <<
")\" style=\"fill:#e1e1e1;fill-opacity:1;stroke:#000000;stroke-width:5.0;stroke-dasharray:1, 1;stroke-dashoffset:0\" />" << std::endl;
127 while (in_END.good()) {
128 char c = (
char) in_END.get();
129 if (in_END.good())
out << c;
align::Scalar width() const
Local3DVector LocalVector
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
virtual 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()
const PositionType & position() const
AlignableDetOrUnitPtr alignableFromDetId(const DetId &detid)
Returns AlignableDetOrUnitPtr corresponding to given DetId.