20 : theMTDDetLayerGeometry(mtdLayout), epsilon_(100.), theEndcapFlag(
true), theBarrelFlag(
true) {}
24 : theMTDDetLayerGeometry(mtdLayout),
26 theEndcapFlag(par.getParameter<
bool>(
"Endcap")),
27 theBarrelFlag(par.getParameter<
bool>(
"Barrel")) {}
37 vector<const DetLayer*>
output;
97 vector<const DetLayer*>
output;
114 for (vector<const DetLayer*>::const_iterator iter_B =
barrel.begin(); iter_B !=
barrel.end(); iter_B++) {
116 output.push_back((*iter_B));
117 else if (
checkCompatible(fts, dynamic_cast<const BarrelDetLayer*>(*iter_B))) {
118 output.push_back((*iter_B));
129 vector<const DetLayer*>::const_iterator rbegin =
barrel.end();
131 vector<const DetLayer*>::const_iterator rend =
barrel.begin();
134 for (vector<const DetLayer*>::const_iterator iter_B = rbegin; iter_B != rend; iter_B--) {
136 output.push_back((*iter_B));
137 else if (
checkCompatible(fts, dynamic_cast<const BarrelDetLayer*>(*iter_B))) {
138 output.push_back((*iter_B));
147 for (vector<const DetLayer*>::const_iterator iter_E = forward.begin(); iter_E != forward.end(); iter_E++) {
149 output.push_back((*iter_E));
150 else if (
checkCompatible(fts, dynamic_cast<const ForwardDetLayer*>(*iter_E))) {
151 output.push_back((*iter_E));
162 vector<const DetLayer*>::const_iterator rbegin = forward.end();
164 vector<const DetLayer*>::const_iterator rend = forward.begin();
166 for (vector<const DetLayer*>::const_iterator iter_E = rbegin; iter_E != rend; iter_E--) {
168 output.push_back((*iter_E));
169 else if (
checkCompatible(fts, dynamic_cast<const ForwardDetLayer*>(*iter_E))) {
170 output.push_back((*iter_E));
180 for (vector<const DetLayer*>::const_iterator iter_E = backward.begin(); iter_E != backward.end(); iter_E++) {
182 output.push_back((*iter_E));
183 else if (
checkCompatible(fts, dynamic_cast<const ForwardDetLayer*>(*iter_E))) {
184 output.push_back((*iter_E));
194 vector<const DetLayer*>::const_iterator rbegin = backward.end();
196 vector<const DetLayer*>::const_iterator rend = backward.begin();
198 for (vector<const DetLayer*>::const_iterator iter_E = rbegin; iter_E != rend; iter_E--) {
200 output.push_back((*iter_E));
201 else if (
checkCompatible(fts, dynamic_cast<const ForwardDetLayer*>(*iter_E))) {
202 output.push_back((*iter_E));
217 float radius = bc.radius();
218 float length = bc.bounds().length() / 2.;
221 return (fabs(z1) <= fabs(length) +
epsilon_);
236 float outRadius = bd.outerRadius();
237 float inRadius = bd.innerRadius();
238 float z = bd.position().z();
253 return ((x0 * xm + y0 * ym) > 0);