1 #ifndef ThirdHitRZPrediction_H 2 #define ThirdHitRZPrediction_H 13 template <
class Propagator>
34 template <
class Propagator>
38 if (!theBarrel && !theForward)
40 float v1 =
transform(*thePropagator, theDetRange.min());
41 float v2 =
transform(*thePropagator, theDetRange.max());
44 return Range(v1 - theTolerance.left(), v2 + theTolerance.right());
47 template <
class Propagator>
51 return Range(
v - theTolerance.left(),
v + theTolerance.right());
void initPropagator(const Propagator *propagator)
PixelRecoRange< float > Range
PixelRecoRange< float > Range
constexpr std::array< uint8_t, layerIndexSize > layer
ThirdHitRZPrediction(const Propagator *propagator, float tolerance, const DetLayer *layer=nullptr)
float transform(const Propagator &propagator, float rOrZ) const
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
Range operator()(float rORz) const
const Propagator * thePropagator
Range operator()(const DetLayer *layer=nullptr)