#include <Geometry/TrackerGeometryBuilder/interface/StripTopologyBuilder.h>
Public Member Functions | |
StripTopology * | build (const Bounds *, double, std::string) |
StripTopologyBuilder () | |
Private Member Functions | |
StripTopology * | constructBarrel (float, float) |
StripTopology * | constructForward (float, float, float, int) |
Private Attributes | |
double | theAPVNumb |
Definition at line 13 of file StripTopologyBuilder.h.
StripTopologyBuilder::StripTopologyBuilder | ( | ) |
StripTopology * StripTopologyBuilder::build | ( | const Bounds * | bs, | |
double | apvnumb, | |||
std::string | part | |||
) |
Definition at line 12 of file StripTopologyBuilder.cc.
References constructBarrel(), constructForward(), Bounds::length(), HLT_VtxMuL3::result, theAPVNumb, Bounds::width(), and Bounds::widthAtHalfLength().
00013 { 00014 theAPVNumb = apvnumb; 00015 00016 StripTopology* result; 00017 if (part == "barrel") { 00018 result = constructBarrel( bs->length(), bs->width()); 00019 } 00020 else { 00021 int yAx = (dynamic_cast<const TrapezoidalPlaneBounds*>(bs))->yAxisOrientation(); 00022 result = constructForward( bs->length(), bs->width(),bs->widthAtHalfLength(),yAx); 00023 } 00024 return result; 00025 }
StripTopology * StripTopologyBuilder::constructBarrel | ( | float | length, | |
float | width | |||
) | [private] |
Definition at line 27 of file StripTopologyBuilder.cc.
References int, and theAPVNumb.
Referenced by build().
00028 { 00029 int nstrip = int(128*theAPVNumb); 00030 float pitch = width/nstrip; 00031 00032 return new RectangularStripTopology(nstrip,pitch,length); 00033 }
StripTopology * StripTopologyBuilder::constructForward | ( | float | length, | |
float | width, | |||
float | widthAtHalf, | |||
int | yAxOr | |||
) | [private] |
Definition at line 35 of file StripTopologyBuilder.cc.
References int, and theAPVNumb.
Referenced by build().
00036 { 00037 int nstrip = int(128*theAPVNumb); 00038 float rCross = widthAtHalf*length/(2*(width-widthAtHalf)); 00039 float aw = atan2(widthAtHalf/2., static_cast<double>(rCross))/(nstrip/2); 00040 return new RadialStripTopology(nstrip, aw, length, rCross, yAxOr); 00041 }
double StripTopologyBuilder::theAPVNumb [private] |
Definition at line 22 of file StripTopologyBuilder.h.
Referenced by build(), constructBarrel(), and constructForward().