CMS 3D CMS Logo

StripTopologyBuilder.cc
Go to the documentation of this file.
6 
8 
10  theAPVNumb = apvnumb;
11 
12  StripTopology* result = nullptr;
13  if (part == "barrel") {
14  result = constructBarrel(bs->length(), bs->width());
15  } else {
16  const TrapezoidalPlaneBounds* topo = dynamic_cast<const TrapezoidalPlaneBounds*>(bs);
17  if (topo) {
18  int yAx = topo->yAxisOrientation();
19  result = constructForward(bs->length(), bs->width(), bs->widthAtHalfLength(), yAx);
20  }
21  }
22  return result;
23 }
24 
26  int nstrip = int(128 * theAPVNumb);
27  float pitch = width / nstrip;
28 
29  return new RectangularStripTopology(nstrip, pitch, length);
30 }
31 
32 StripTopology* StripTopologyBuilder::constructForward(float length, float width, float widthAtHalf, int yAxOr) {
33  int nstrip = int(128 * theAPVNumb);
34  float rCross = widthAtHalf * length / (2 * (width - widthAtHalf));
35  float aw = atan2(widthAtHalf / 2., static_cast<double>(rCross)) / (nstrip / 2);
36  return new TkRadialStripTopology(nstrip, aw, length, rCross, yAxOr);
37 }
ApeEstimator_cff.width
width
Definition: ApeEstimator_cff.py:24
StripTopologyBuilder::StripTopologyBuilder
StripTopologyBuilder(void)
Definition: StripTopologyBuilder.cc:7
TkRadialStripTopology
Definition: TkRadialStripTopology.h:28
Bounds
Definition: Bounds.h:18
StripTopologyBuilder.h
TrapezoidalPlaneBounds::yAxisOrientation
virtual int yAxisOrientation() const
Definition: TrapezoidalPlaneBounds.cc:16
RectangularStripTopology.h
StripTopologyBuilder::constructForward
StripTopology * constructForward(float, float, float, int)
Definition: StripTopologyBuilder.cc:32
StripTopologyBuilder::theAPVNumb
double theAPVNumb
Definition: StripTopologyBuilder.h:20
cms::cuda::bs
bs
Definition: HistoContainer.h:127
part
part
Definition: HCALResponse.h:20
RectangularStripTopology
Definition: RectangularStripTopology.h:11
TrapezoidalPlaneBounds.h
Bounds.h
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
TkRadialStripTopology.h
createfilelist.int
int
Definition: createfilelist.py:10
TrapezoidalPlaneBounds
Definition: TrapezoidalPlaneBounds.h:15
StripTopologyBuilder::build
StripTopology * build(const Bounds *, double, const std::string &)
Definition: StripTopologyBuilder.cc:9
StripTopologyBuilder::constructBarrel
StripTopology * constructBarrel(float, float)
Definition: StripTopologyBuilder.cc:25
mps_fire.result
result
Definition: mps_fire.py:303
StripTopology
Definition: StripTopology.h:11