CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Protected Attributes
ThirdHitRZPredictionBase Class Reference

#include <ThirdHitRZPredictionBase.h>

Inheritance diagram for ThirdHitRZPredictionBase:
ThirdHitRZPrediction< Propagator >

Public Types

typedef TkTrackingRegionsMargin< float > Margin
 
typedef PixelRecoRange< float > Range
 

Public Member Functions

const RangedetRange () const
 
const RangedetSize () const
 
void initLayer (const DetLayer *layer)
 
void initTolerance (float tolerance)
 
 ThirdHitRZPredictionBase ()
 
 ThirdHitRZPredictionBase (float tolerance, const DetLayer *layer=nullptr)
 

Protected Attributes

bool theBarrel
 
Range theDetRange
 
Range theDetSize
 
bool theForward
 
Margin theTolerance
 

Detailed Description

Definition at line 18 of file ThirdHitRZPredictionBase.h.

Member Typedef Documentation

◆ Margin

Definition at line 21 of file ThirdHitRZPredictionBase.h.

◆ Range

Definition at line 20 of file ThirdHitRZPredictionBase.h.

Constructor & Destructor Documentation

◆ ThirdHitRZPredictionBase() [1/2]

ThirdHitRZPredictionBase::ThirdHitRZPredictionBase ( )

◆ ThirdHitRZPredictionBase() [2/2]

ThirdHitRZPredictionBase::ThirdHitRZPredictionBase ( float  tolerance,
const DetLayer layer = nullptr 
)

Definition at line 11 of file ThirdHitRZPredictionBase.cc.

References initLayer(), and phase1PixelTopology::layer.

13  if (layer)
15 }
void initLayer(const DetLayer *layer)
const double tolerance
constexpr std::array< uint8_t, layerIndexSize > layer

Member Function Documentation

◆ detRange()

const Range& ThirdHitRZPredictionBase::detRange ( ) const
inline

Definition at line 26 of file ThirdHitRZPredictionBase.h.

References theDetRange.

◆ detSize()

const Range& ThirdHitRZPredictionBase::detSize ( ) const
inline

Definition at line 27 of file ThirdHitRZPredictionBase.h.

References theDetSize.

◆ initLayer()

void ThirdHitRZPredictionBase::initLayer ( const DetLayer layer)

Definition at line 17 of file ThirdHitRZPredictionBase.cc.

References GeomDetEnumerators::barrel, Surface::bounds(), GeomDetEnumerators::endcap, SimpleDiskBounds::innerRadius(), phase1PixelTopology::layer, Bounds::length(), CosmicsPD_Skims::maxZ, SimpleDiskBounds::outerRadius(), GeometricSearchDet::position(), CosmicsPD_Skims::radius, BarrelDetLayer::specificSurface(), BarrelDetLayer::surface(), ForwardDetLayer::surface(), theBarrel, theDetRange, theDetSize, theForward, Bounds::thickness(), and PV3DBase< T, PVType, FrameType >::z().

Referenced by PixelTripletHLTGenerator::hitTriplets(), and ThirdHitRZPredictionBase().

17  {
18  if (layer->location() == GeomDetEnumerators::barrel) {
19  theBarrel = true;
20  theForward = false;
21  const BarrelDetLayer& bl = reinterpret_cast<const BarrelDetLayer&>(*layer);
22  float halfThickness = bl.surface().bounds().thickness() / 2;
23  float radius = bl.specificSurface().radius();
24  theDetRange = Range(radius - halfThickness, radius + halfThickness);
25  float maxZ = bl.surface().bounds().length() / 2;
27  } else if (layer->location() == GeomDetEnumerators::endcap) {
28  theBarrel = false;
29  theForward = true;
30  const ForwardDetLayer& fl = reinterpret_cast<const ForwardDetLayer&>(*layer);
31  float halfThickness = fl.surface().bounds().thickness() / 2;
32  float zLayer = fl.position().z();
33  theDetRange = Range(zLayer - halfThickness, zLayer + halfThickness);
34  const SimpleDiskBounds& diskRadialBounds = static_cast<const SimpleDiskBounds&>(fl.surface().bounds());
35  theDetSize = Range(diskRadialBounds.innerRadius(), diskRadialBounds.outerRadius());
36  } else {
37  theBarrel = theForward = false;
38  }
39 }
virtual const Surface::PositionType & position() const
Returns position of the surface.
virtual float length() const =0
const BoundSurface & surface() const final
GeometricSearchDet interface.
const BoundSurface & surface() const final
The surface of the GeometricSearchDet.
T z() const
Definition: PV3DBase.h:61
PixelRecoRange< float > Range
constexpr std::array< uint8_t, layerIndexSize > layer
virtual float thickness() const =0
float outerRadius() const
virtual const BoundCylinder & specificSurface() const final
Extension of the interface.
float innerRadius() const
Extension of the Bounds interface.
const Bounds & bounds() const
Definition: Surface.h:87

◆ initTolerance()

void ThirdHitRZPredictionBase::initTolerance ( float  tolerance)
inline

Definition at line 29 of file ThirdHitRZPredictionBase.h.

References theTolerance, and tolerance.

Referenced by PixelTripletHLTGenerator::hitTriplets().

const double tolerance
TkTrackingRegionsMargin< float > Margin

Member Data Documentation

◆ theBarrel

bool ThirdHitRZPredictionBase::theBarrel
protected

◆ theDetRange

Range ThirdHitRZPredictionBase::theDetRange
protected

Definition at line 34 of file ThirdHitRZPredictionBase.h.

Referenced by detRange(), and initLayer().

◆ theDetSize

Range ThirdHitRZPredictionBase::theDetSize
protected

Definition at line 34 of file ThirdHitRZPredictionBase.h.

Referenced by detSize(), and initLayer().

◆ theForward

bool ThirdHitRZPredictionBase::theForward
protected

Definition at line 33 of file ThirdHitRZPredictionBase.h.

Referenced by initLayer().

◆ theTolerance

Margin ThirdHitRZPredictionBase::theTolerance
protected

Definition at line 35 of file ThirdHitRZPredictionBase.h.

Referenced by initTolerance().