CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Private Member Functions | Friends
AbsHcalFunctor Class Referenceabstract

#include <AbsHcalFunctor.h>

Inheritance diagram for AbsHcalFunctor:
HcalChebyshevFunctor HcalConstFunctor HcalCubicInterpolator HcalInterpolatedTableFunctor HcalLinearCompositionFunctor HcalPiecewiseLinearFunctor HcalPolynomialFunctor

Public Member Functions

bool operator!= (const AbsHcalFunctor &r) const
 
virtual double operator() (double x) const =0
 
bool operator== (const AbsHcalFunctor &r) const
 
virtual double xmax () const
 
virtual double xmin () const
 
virtual ~AbsHcalFunctor ()
 

Protected Member Functions

virtual bool isEqual (const AbsHcalFunctor &) const =0
 

Static Protected Member Functions

template<class Iter >
static bool isStrictlyDecreasing (Iter begin, Iter const end)
 
template<class Iter >
static bool isStrictlyIncreasing (Iter begin, Iter const end)
 

Private Member Functions

template<typename Ar >
void serialize (Ar &ar, unsigned)
 

Friends

class boost::serialization::access
 

Detailed Description

Definition at line 19 of file AbsHcalFunctor.h.

Constructor & Destructor Documentation

◆ ~AbsHcalFunctor()

virtual AbsHcalFunctor::~AbsHcalFunctor ( )
inlinevirtual

Definition at line 21 of file AbsHcalFunctor.h.

21 {}

Member Function Documentation

◆ isEqual()

virtual bool AbsHcalFunctor::isEqual ( const AbsHcalFunctor ) const
protectedpure virtual

◆ isStrictlyDecreasing()

template<class Iter >
static bool AbsHcalFunctor::isStrictlyDecreasing ( Iter  begin,
Iter const  end 
)
inlinestaticprotected

Definition at line 56 of file AbsHcalFunctor.h.

56  {
57  if (begin == end)
58  return false;
59  Iter first(begin);
60  bool status = ++begin != end;
61  for (; begin != end && status; ++begin, ++first)
62  if (!(*begin < *first))
63  status = false;
64  return status;
65  }

References mps_fire::end, first, and mps_update::status.

Referenced by HcalCubicInterpolator::approximateInverse(), HcalInterpolatedTableFunctor::isStrictlyMonotonous(), and HcalPiecewiseLinearFunctor::isStrictlyMonotonous().

◆ isStrictlyIncreasing()

template<class Iter >
static bool AbsHcalFunctor::isStrictlyIncreasing ( Iter  begin,
Iter const  end 
)
inlinestaticprotected

Definition at line 43 of file AbsHcalFunctor.h.

43  {
44  if (begin == end)
45  return false;
46  Iter first(begin);
47  bool status = ++begin != end;
48  for (; begin != end && status; ++begin, ++first)
49  if (!(*first < *begin))
50  status = false;
51  return status;
52  }

References mps_fire::end, first, and mps_update::status.

Referenced by HcalCubicInterpolator::approximateInverse(), HcalPiecewiseLinearFunctor::HcalPiecewiseLinearFunctor(), HcalInterpolatedTableFunctor::isStrictlyMonotonous(), and HcalPiecewiseLinearFunctor::isStrictlyMonotonous().

◆ operator!=()

bool AbsHcalFunctor::operator!= ( const AbsHcalFunctor r) const
inline

Definition at line 34 of file AbsHcalFunctor.h.

34 { return !(*this == r); }

References alignCSCRings::r.

◆ operator()()

virtual double AbsHcalFunctor::operator() ( double  x) const
pure virtual

◆ operator==()

bool AbsHcalFunctor::operator== ( const AbsHcalFunctor r) const
inline

Definition at line 33 of file AbsHcalFunctor.h.

33 { return (typeid(*this) == typeid(r)) && this->isEqual(r); }

References isEqual(), and alignCSCRings::r.

◆ serialize()

template<typename Ar >
void AbsHcalFunctor::serialize ( Ar &  ar,
unsigned   
)
inlineprivate

Definition at line 70 of file AbsHcalFunctor.h.

70 {}

◆ xmax()

virtual double AbsHcalFunctor::xmax ( ) const
inlinevirtual

◆ xmin()

virtual double AbsHcalFunctor::xmin ( ) const
inlinevirtual

Friends And Related Function Documentation

◆ boost::serialization::access

friend class boost::serialization::access
friend

Definition at line 68 of file AbsHcalFunctor.h.

mps_update.status
status
Definition: mps_update.py:68
mps_fire.end
end
Definition: mps_fire.py:242
first
auto first
Definition: CAHitNtupletGeneratorKernelsImpl.h:125
alignCSCRings.r
r
Definition: alignCSCRings.py:93
AbsHcalFunctor::isEqual
virtual bool isEqual(const AbsHcalFunctor &) const =0