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

Definition at line 21 of file ThirdHitRZPredictionBase.h.

Definition at line 20 of file ThirdHitRZPredictionBase.h.

Constructor & Destructor Documentation

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

Member Function Documentation

const Range& ThirdHitRZPredictionBase::detRange ( ) const
inline

Definition at line 26 of file ThirdHitRZPredictionBase.h.

References theDetRange.

const Range& ThirdHitRZPredictionBase::detSize ( ) const
inline

Definition at line 27 of file ThirdHitRZPredictionBase.h.

References theDetSize.

void ThirdHitRZPredictionBase::initLayer ( const DetLayer layer)

Definition at line 20 of file ThirdHitRZPredictionBase.cc.

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

Referenced by PixelQuadrupletGenerator::hitQuadruplets(), PixelTripletHLTGenerator::hitTriplets(), initTolerance(), ThirdHitRZPrediction< Propagator >::operator()(), and ThirdHitRZPredictionBase().

21 {
22  if (layer->location() == GeomDetEnumerators::barrel) {
23  theBarrel = true;
24  theForward = false;
25  const BarrelDetLayer& bl = reinterpret_cast<const BarrelDetLayer&>(*layer);
26  float halfThickness = bl.surface().bounds().thickness()/2;
27  float radius = bl.specificSurface().radius();
28  theDetRange = Range(radius-halfThickness, radius+halfThickness);
29  float maxZ = bl.surface().bounds().length()/2;
30  theDetSize = Range(-maxZ, maxZ);
31  } else if (layer->location() == GeomDetEnumerators::endcap) {
32  theBarrel= false;
33  theForward = true;
34  const ForwardDetLayer& fl = reinterpret_cast<const ForwardDetLayer&>(*layer);
35  float halfThickness = fl.surface().bounds().thickness()/2;
36  float zLayer = fl.position().z() ;
37  theDetRange = Range(zLayer-halfThickness, zLayer+halfThickness);
38  const SimpleDiskBounds& diskRadialBounds =
39  static_cast<const SimpleDiskBounds &>(fl.surface().bounds());
40  theDetSize = Range(diskRadialBounds.innerRadius(), diskRadialBounds.outerRadius());
41  } else {
42  theBarrel = theForward = false;
43 
44  }
45 }
virtual float length() const =0
virtual Location location() const =0
Which part of the detector (barrel, endcap)
const Bounds & bounds() const
Definition: Surface.h:120
virtual const BoundCylinder & specificSurface() const final
Extension of the interface.
PixelRecoRange< float > Range
T z() const
Definition: PV3DBase.h:64
float outerRadius() const
virtual float thickness() const =0
virtual const Surface::PositionType & position() const
Returns position of the surface.
const BoundSurface & surface() const final
The surface of the GeometricSearchDet.
float innerRadius() const
Extension of the Bounds interface.
const BoundSurface & surface() const final
GeometricSearchDet interface.
void ThirdHitRZPredictionBase::initTolerance ( float  tolerance)
inline

Member Data Documentation

bool ThirdHitRZPredictionBase::theBarrel
protected
Range ThirdHitRZPredictionBase::theDetRange
protected
Range ThirdHitRZPredictionBase::theDetSize
protected

Definition at line 34 of file ThirdHitRZPredictionBase.h.

Referenced by detSize(), and initLayer().

bool ThirdHitRZPredictionBase::theForward
protected
Margin ThirdHitRZPredictionBase::theTolerance
protected