79{
80 if(
name.find(
"MagQ1") != std::string::npos || (twiss &&
name.find(
"MQXA.1") != std::string::npos))
81 {
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]);
85 }
86 else if(
name.find(
"MagQ2a") != std::string::npos || (twiss &&
name.find(
"MQXB.A2") != std::string::npos))
87 {
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]);
91 }
92 else if(
name.find(
"MagQ2b") != std::string::npos || (twiss &&
name.find(
"MQXB.B2") != std::string::npos))
93 {
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]);
97 }
98 else if(
name.find(
"MagQ3") != std::string::npos || (twiss &&
name.find(
"MQXA.3") != std::string::npos))
99 {
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]);
103 }
104 else if(
name.find(
"MagD1a") != std::string::npos || (twiss &&
name.find(
"MBXW.A4") != std::string::npos))
105 {
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]);
109 }
110 else if(
name.find(
"MagD1b") != std::string::npos || (twiss &&
name.find(
"MBXW.B4") != std::string::npos))
111 {
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]);
115 }
116 else if(
name.find(
"MagD1c") != std::string::npos || (twiss &&
name.find(
"MBXW.C4") != std::string::npos))
117 {
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]);
121 }
122 else if(
name.find(
"MagD1d") != std::string::npos || (twiss &&
name.find(
"MBXW.D4") != std::string::npos))
123 {
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]);
127 }
128 else if(
name.find(
"MagD1e") != std::string::npos || (twiss &&
name.find(
"MBXW.E4") != std::string::npos))
129 {
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]);
133 }
134 else if(
name.find(
"MagD1f") != std::string::npos || (twiss &&
name.find(
"MBXW.F4") != std::string::npos))
135 {
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]);
139 }
140 else if(
name.find(
"MagD2") != std::string::npos || (twiss &&
name.find(
"MBRC.4") != std::string::npos))
141 {
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]);
145 }
146 else if(
name.find(
"MagQ4") != std::string::npos || (twiss &&
name.find(
"MQY.4") != std::string::npos))
147 {
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]);
151 }
152 else if(
name.find(
"MagQ5") != std::string::npos || (twiss &&
name.find(
"MQML.5") != std::string::npos))
153 {
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]);
157 }
158 else if(
name.find(
"MagQ6") != std::string::npos || (twiss &&
name.find(
"MQML.6") != std::string::npos))
159 {
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]);
163 }
164 else if(
name.find(
"MagQ7a") != std::string::npos || (twiss &&
name.find(
"MQM.A7") != std::string::npos))
165 {
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]);
169 }
170 else if(
name.find(
"MagQ7b") != std::string::npos || (twiss &&
name.find(
"MQM.B7") != std::string::npos))
171 {
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]);
175 }
176 else
177 {
178 pointMagStart = HepGeom::Point3D<double>(0,0,0);
179 pointMagEnd = HepGeom::Point3D<double>(0,0,0);
180 rotAxis = 0;
181 }
182}