80 if(name.find(
"MagQ1") != std::string::npos || (twiss && name.find(
"MQXA.1") != std::string::npos))
82 pointMagStart = HepGeom::Point3D<double>(
m_Config.pointQ1Start[(beam-1)*3],
m_Config.pointQ1Start[(beam-1)*3+1],
m_Config.pointQ1Start[(beam-1)*3+2]);
83 pointMagEnd = HepGeom::Point3D<double>(
m_Config.pointQ1End[(beam-1)*3],
m_Config.pointQ1End[(beam-1)*3+1],
m_Config.pointQ1End[(beam-1)*3+2]);
86 else if(name.find(
"MagQ2a") != std::string::npos || (twiss && name.find(
"MQXB.A2") != std::string::npos))
88 pointMagStart = HepGeom::Point3D<double>(
m_Config.pointQ2aStart[(beam-1)*3],
m_Config.pointQ2aStart[(beam-1)*3+1],
m_Config.pointQ2aStart[(beam-1)*3+2]);
89 pointMagEnd = HepGeom::Point3D<double>(
m_Config.pointQ2aEnd[(beam-1)*3],
m_Config.pointQ2aEnd[(beam-1)*3+1],
m_Config.pointQ2aEnd[(beam-1)*3+2]);
92 else if(name.find(
"MagQ2b") != std::string::npos || (twiss && name.find(
"MQXB.B2") != std::string::npos))
94 pointMagStart = HepGeom::Point3D<double>(
m_Config.pointQ2bStart[(beam-1)*3],
m_Config.pointQ2bStart[(beam-1)*3+1],
m_Config.pointQ2bStart[(beam-1)*3+2]);
95 pointMagEnd = HepGeom::Point3D<double>(
m_Config.pointQ2bEnd[(beam-1)*3],
m_Config.pointQ2bEnd[(beam-1)*3+1],
m_Config.pointQ2bEnd[(beam-1)*3+2]);
98 else if(name.find(
"MagQ3") != std::string::npos || (twiss && name.find(
"MQXA.3") != std::string::npos))
100 pointMagStart = HepGeom::Point3D<double>(
m_Config.pointQ3Start[(beam-1)*3],
m_Config.pointQ3Start[(beam-1)*3+1],
m_Config.pointQ3Start[(beam-1)*3+2]);
101 pointMagEnd = HepGeom::Point3D<double>(
m_Config.pointQ3End[(beam-1)*3],
m_Config.pointQ3End[(beam-1)*3+1],
m_Config.pointQ3End[(beam-1)*3+2]);
104 else if(name.find(
"MagD1a") != std::string::npos || (twiss && name.find(
"MBXW.A4") != std::string::npos))
106 pointMagStart = HepGeom::Point3D<double>(
m_Config.pointD1aStart[(beam-1)*3],
m_Config.pointD1aStart[(beam-1)*3+1],
m_Config.pointD1aStart[(beam-1)*3+2]);
107 pointMagEnd = HepGeom::Point3D<double>(
m_Config.pointD1aEnd[(beam-1)*3],
m_Config.pointD1aEnd[(beam-1)*3+1],
m_Config.pointD1aEnd[(beam-1)*3+2]);
108 rotAxis =
m_Config.fD1aRotZ[beam-1];
110 else if(name.find(
"MagD1b") != std::string::npos || (twiss && name.find(
"MBXW.B4") != std::string::npos))
112 pointMagStart = HepGeom::Point3D<double>(
m_Config.pointD1bStart[(beam-1)*3],
m_Config.pointD1bStart[(beam-1)*3+1],
m_Config.pointD1bStart[(beam-1)*3+2]);
113 pointMagEnd = HepGeom::Point3D<double>(
m_Config.pointD1bEnd[(beam-1)*3],
m_Config.pointD1bEnd[(beam-1)*3+1],
m_Config.pointD1bEnd[(beam-1)*3+2]);
114 rotAxis =
m_Config.fD1bRotZ[beam-1];
116 else if(name.find(
"MagD1c") != std::string::npos || (twiss && name.find(
"MBXW.C4") != std::string::npos))
118 pointMagStart = HepGeom::Point3D<double>(
m_Config.pointD1cStart[(beam-1)*3],
m_Config.pointD1cStart[(beam-1)*3+1],
m_Config.pointD1cStart[(beam-1)*3+2]);
119 pointMagEnd = HepGeom::Point3D<double>(
m_Config.pointD1cEnd[(beam-1)*3],
m_Config.pointD1cEnd[(beam-1)*3+1],
m_Config.pointD1cEnd[(beam-1)*3+2]);
120 rotAxis =
m_Config.fD1cRotZ[beam-1];
122 else if(name.find(
"MagD1d") != std::string::npos || (twiss && name.find(
"MBXW.D4") != std::string::npos))
124 pointMagStart = HepGeom::Point3D<double>(
m_Config.pointD1dStart[(beam-1)*3],
m_Config.pointD1dStart[(beam-1)*3+1],
m_Config.pointD1dStart[(beam-1)*3+2]);
125 pointMagEnd = HepGeom::Point3D<double>(
m_Config.pointD1dEnd[(beam-1)*3],
m_Config.pointD1dEnd[(beam-1)*3+1],
m_Config.pointD1dEnd[(beam-1)*3+2]);
126 rotAxis =
m_Config.fD1dRotZ[beam-1];
128 else if(name.find(
"MagD1e") != std::string::npos || (twiss && name.find(
"MBXW.E4") != std::string::npos))
130 pointMagStart = HepGeom::Point3D<double>(
m_Config.pointD1eStart[(beam-1)*3],
m_Config.pointD1eStart[(beam-1)*3+1],
m_Config.pointD1eStart[(beam-1)*3+2]);
131 pointMagEnd = HepGeom::Point3D<double>(
m_Config.pointD1eEnd[(beam-1)*3],
m_Config.pointD1eEnd[(beam-1)*3+1],
m_Config.pointD1eEnd[(beam-1)*3+2]);
132 rotAxis =
m_Config.fD1eRotZ[beam-1];
134 else if(name.find(
"MagD1f") != std::string::npos || (twiss && name.find(
"MBXW.F4") != std::string::npos))
136 pointMagStart = HepGeom::Point3D<double>(
m_Config.pointD1fStart[(beam-1)*3],
m_Config.pointD1fStart[(beam-1)*3+1],
m_Config.pointD1fStart[(beam-1)*3+2]);
137 pointMagEnd = HepGeom::Point3D<double>(
m_Config.pointD1fEnd[(beam-1)*3],
m_Config.pointD1fEnd[(beam-1)*3+1],
m_Config.pointD1fEnd[(beam-1)*3+2]);
138 rotAxis =
m_Config.fD1fRotZ[beam-1];
140 else if(name.find(
"MagD2") != std::string::npos || (twiss && name.find(
"MBRC.4") != std::string::npos))
142 pointMagStart = HepGeom::Point3D<double>(
m_Config.pointD2Start[(beam-1)*3],
m_Config.pointD2Start[(beam-1)*3+1],
m_Config.pointD2Start[(beam-1)*3+2]);
143 pointMagEnd = HepGeom::Point3D<double>(
m_Config.pointD2End[(beam-1)*3],
m_Config.pointD2End[(beam-1)*3+1],
m_Config.pointD2End[(beam-1)*3+2]);
146 else if(name.find(
"MagQ4") != std::string::npos || (twiss && name.find(
"MQY.4") != std::string::npos))
148 pointMagStart = HepGeom::Point3D<double>(
m_Config.pointQ4Start[(beam-1)*3],
m_Config.pointQ4Start[(beam-1)*3+1],
m_Config.pointQ4Start[(beam-1)*3+2]);
149 pointMagEnd = HepGeom::Point3D<double>(
m_Config.pointQ4End[(beam-1)*3],
m_Config.pointQ4End[(beam-1)*3+1],
m_Config.pointQ4End[(beam-1)*3+2]);
152 else if(name.find(
"MagQ5") != std::string::npos || (twiss && name.find(
"MQML.5") != std::string::npos))
154 pointMagStart = HepGeom::Point3D<double>(
m_Config.pointQ5Start[(beam-1)*3],
m_Config.pointQ5Start[(beam-1)*3+1],
m_Config.pointQ5Start[(beam-1)*3+2]);
155 pointMagEnd = HepGeom::Point3D<double>(
m_Config.pointQ5End[(beam-1)*3],
m_Config.pointQ5End[(beam-1)*3+1],
m_Config.pointQ5End[(beam-1)*3+2]);
158 else if(name.find(
"MagQ6") != std::string::npos || (twiss && name.find(
"MQML.6") != std::string::npos))
160 pointMagStart = HepGeom::Point3D<double>(
m_Config.pointQ6Start[(beam-1)*3],
m_Config.pointQ6Start[(beam-1)*3+1],
m_Config.pointQ6Start[(beam-1)*3+2]);
161 pointMagEnd = HepGeom::Point3D<double>(
m_Config.pointQ6End[(beam-1)*3],
m_Config.pointQ6End[(beam-1)*3+1],
m_Config.pointQ6End[(beam-1)*3+2]);
164 else if(name.find(
"MagQ7a") != std::string::npos || (twiss && name.find(
"MQM.A7") != std::string::npos))
166 pointMagStart = HepGeom::Point3D<double>(
m_Config.pointQ7aStart[(beam-1)*3],
m_Config.pointQ7aStart[(beam-1)*3+1],
m_Config.pointQ7aStart[(beam-1)*3+2]);
167 pointMagEnd = HepGeom::Point3D<double>(
m_Config.pointQ7aEnd[(beam-1)*3],
m_Config.pointQ7aEnd[(beam-1)*3+1],
m_Config.pointQ7aEnd[(beam-1)*3+2]);
168 rotAxis =
m_Config.fQ7aRotZ[beam-1];
170 else if(name.find(
"MagQ7b") != std::string::npos || (twiss && name.find(
"MQM.B7") != std::string::npos))
172 pointMagStart = HepGeom::Point3D<double>(
m_Config.pointQ7bStart[(beam-1)*3],
m_Config.pointQ7bStart[(beam-1)*3+1],
m_Config.pointQ7bStart[(beam-1)*3+2]);
173 pointMagEnd = HepGeom::Point3D<double>(
m_Config.pointQ7bEnd[(beam-1)*3],
m_Config.pointQ7bEnd[(beam-1)*3+1],
m_Config.pointQ7bEnd[(beam-1)*3+2]);
174 rotAxis =
m_Config.fQ7bRotZ[beam-1];
178 pointMagStart = HepGeom::Point3D<double>(0,0,0);
179 pointMagEnd = HepGeom::Point3D<double>(0,0,0);