CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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=0)
 

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 = 0 
)

Definition at line 13 of file ThirdHitRZPredictionBase.cc.

References initLayer().

15  : theBarrel(false), theForward(false), theTolerance(tolerance, tolerance)
16 {
17  if (layer) initLayer(layer);
18 }
void initLayer(const DetLayer *layer)

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(), CosmicsPD_Skims::maxZ, SimpleDiskBounds::outerRadius(), GeometricSearchDet::position(), CosmicsPD_Skims::radius, BarrelDetLayer::specificSurface(), ForwardDetLayer::surface(), BarrelDetLayer::surface(), theBarrel, theDetRange, theDetSize, theForward, Bounds::thickness(), and PV3DBase< T, PVType, FrameType >::z().

Referenced by PixelTripletHLTGenerator::hitTriplets(), 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)
virtual const BoundSurface & surface() const
The surface of the GeometricSearchDet.
const Bounds & bounds() const
Definition: Surface.h:128
PixelRecoRange< float > Range
virtual float thickness() const =0
T z() const
Definition: PV3DBase.h:64
float outerRadius() const
virtual const BoundSurface & surface() const
GeometricSearchDet interface.
virtual const Surface::PositionType & position() const
Returns position of the surface.
virtual const BoundCylinder & specificSurface() const
Extension of the interface.
float innerRadius() const
Extension of the Bounds interface.
void ThirdHitRZPredictionBase::initTolerance ( float  tolerance)
inline

Definition at line 29 of file ThirdHitRZPredictionBase.h.

References theTolerance.

Referenced by PixelTripletHLTGenerator::hitTriplets().

29 { theTolerance = Margin(tolerance, tolerance); }
TkTrackingRegionsMargin< float > Margin

Member Data Documentation

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

Definition at line 34 of file ThirdHitRZPredictionBase.h.

Referenced by detRange(), and initLayer().

Range ThirdHitRZPredictionBase::theDetSize
protected

Definition at line 34 of file ThirdHitRZPredictionBase.h.

Referenced by detSize(), and initLayer().

bool ThirdHitRZPredictionBase::theForward
protected

Definition at line 33 of file ThirdHitRZPredictionBase.h.

Referenced by initLayer().

Margin ThirdHitRZPredictionBase::theTolerance
protected

Definition at line 35 of file ThirdHitRZPredictionBase.h.

Referenced by initTolerance().