Go to the documentation of this file.
19 std::once_flag printOnce;
22 const float TrackerModule::invRoot12 =
sqrt(1. / 12.);
30 : moduleTypeCfg_(moduleTypeCfg) {
37 specDet_ = dynamic_cast<const PixelGeomDetUnit*>(det0);
76 if (iWheel >= 3 && iWheel <= 5)
83 float deltaZ = (R1 -
R0 > 0) ? (Z1 -
Z0) : -(Z1 -
Z0);
121 if (lay < 1 || lay > 7)
122 throw cms::Exception(
"LogicError") <<
"TrackerModule: Reduced layer ID out of expected range";
130 float pitch,
float space,
bool barrel,
bool tiltedBarrel,
bool psModule)
const {
133 unsigned int moduleType = 999;
134 constexpr
float tol = 0.001;
144 if (moduleType == 999) {
145 std::stringstream
text;
146 text <<
"WARNING: TrackerModule found tracker module type unknown to firmware: pitch=" << pitch
const Surface::PositionType & position() const
The position (origin of the R.F.)
unsigned int side(const DetId &id) const
virtual float width() const =0
bool tiltedBarrel() const
virtual std::pair< float, float > pitch() const =0
unsigned int layer(const DetId &id) const
uint32_t stack(const DetId &id) const
const PixelGeomDetUnit * specDet_
ModuleType getDetectorType(DetId) const
unsigned int tidRing(const DetId &id) const
unsigned int tidWheel(const DetId &id) const
ModuleTypeCfg moduleTypeCfg_
const TrackerGeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
const Plane & surface() const
The nominal surface of the GeomDet.
unsigned int calcModuleType(float pitch, float space, bool barrel, bool tiltedBarrel, bool psModule) const
static unsigned int calcLayerIdReduced(unsigned int layerId)
const PixelTopology * specTopol_
std::vector< bool > tiltedVsType
const Bounds & bounds() const
DetId partnerDetId(const DetId &id) const
static constexpr auto TIB
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum)
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
unsigned int layerIdReduced_
bool outerModuleAtSmallerR_
unsigned int layerId() const
static constexpr auto TOB
unsigned int moduleTypeID_
std::vector< double > spaceVsType
std::vector< bool > psVsType
Abs< T >::type abs(const T &t)
const DetId & detId() const
virtual int nrows() const =0
=== This is the base class for the linearised chi-squared track fit algorithms.
std::vector< bool > barrelVsType
Geom::Phi< T > phi() const
unsigned int tobSide(const DetId &id) const
std::vector< double > pitchVsType