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 | Private Attributes
ThirdHitRZPrediction< Propagator > Class Template Reference

#include <ThirdHitRZPrediction.h>

Inheritance diagram for ThirdHitRZPrediction< Propagator >:
ThirdHitRZPredictionBase

Public Types

typedef
helper::ThirdHitRZPredictionTraits
< Propagator
traits
 
- Public Types inherited from ThirdHitRZPredictionBase
typedef
TkTrackingRegionsMargin< float > 
Margin
 
typedef PixelRecoRange< float > Range
 

Public Member Functions

void initPropagator (const Propagator *propagator)
 
Range operator() (const DetLayer *layer=0)
 
Range operator() (float rORz) const
 
Range operator() (float rORz, const Propagator &propagator) const
 
 ThirdHitRZPrediction ()
 
 ThirdHitRZPrediction (const Propagator *propagator, float tolerance, const DetLayer *layer=0)
 
- Public Member Functions inherited from ThirdHitRZPredictionBase
const RangedetRange () const
 
const RangedetSize () const
 
void initLayer (const DetLayer *layer)
 
void initTolerance (float tolerance)
 
 ThirdHitRZPredictionBase ()
 
 ThirdHitRZPredictionBase (float tolerance, const DetLayer *layer=0)
 

Private Attributes

const PropagatorthePropagator
 

Additional Inherited Members

- Protected Attributes inherited from ThirdHitRZPredictionBase
bool theBarrel
 
Range theDetRange
 
Range theDetSize
 
bool theForward
 
Margin theTolerance
 

Detailed Description

template<class Propagator>
class ThirdHitRZPrediction< Propagator >

Definition at line 32 of file ThirdHitRZPrediction.h.

Member Typedef Documentation

Definition at line 34 of file ThirdHitRZPrediction.h.

Constructor & Destructor Documentation

template<class Propagator >
ThirdHitRZPrediction< Propagator >::ThirdHitRZPrediction ( )
inline
template<class Propagator >
ThirdHitRZPrediction< Propagator >::ThirdHitRZPrediction ( const Propagator propagator,
float  tolerance,
const DetLayer layer = 0 
)
inline

Definition at line 37 of file ThirdHitRZPrediction.h.

37  :
38  ThirdHitRZPredictionBase(tolerance, layer), thePropagator(propagator) {}
const Propagator * thePropagator

Member Function Documentation

template<class Propagator >
void ThirdHitRZPrediction< Propagator >::initPropagator ( const Propagator propagator)
inline
template<class Propagator >
ThirdHitRZPrediction< Propagator >::Range ThirdHitRZPrediction< Propagator >::operator() ( const DetLayer layer = 0)

Definition at line 52 of file ThirdHitRZPrediction.h.

References std::swap(), and create_public_pileup_plots::transform.

53 {
54  if (layer) initLayer(layer);
55  if (!theBarrel && !theForward) return Range(0., 0.);
58  if (v1 > v2) std::swap(v1, v2);
59  return Range(v1 - theTolerance.left(), v2 + theTolerance.right());
60 }
T max() const
void initLayer(const DetLayer *layer)
PixelRecoRange< float > Range
T min() const
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
const Propagator * thePropagator
static float transform(const Propagator &propagator, bool barrel, float rOrZ)
template<class Propagator >
Range ThirdHitRZPrediction< Propagator >::operator() ( float  rORz) const
inline

Definition at line 41 of file ThirdHitRZPrediction.h.

References ThirdHitRZPrediction< Propagator >::thePropagator.

41 { return (*this)(rORz, *thePropagator); }
const Propagator * thePropagator
template<class Propagator >
ThirdHitRZPrediction< Propagator >::Range ThirdHitRZPrediction< Propagator >::operator() ( float  rORz,
const Propagator propagator 
) const

Definition at line 64 of file ThirdHitRZPrediction.h.

References create_public_pileup_plots::transform, and v.

65 {
66  float v = traits::transform(propagator, theBarrel, rOrZ);
67  return Range(v - theTolerance.left(), v + theTolerance.right());
68 }
PixelRecoRange< float > Range
mathSSE::Vec4< T > v
static float transform(const Propagator &propagator, bool barrel, float rOrZ)

Member Data Documentation

template<class Propagator >
const Propagator* ThirdHitRZPrediction< Propagator >::thePropagator
private