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

virtual AbsHcalFunctor::~AbsHcalFunctor ( )
inlinevirtual

Definition at line 22 of file AbsHcalFunctor.h.

References operator()(), and x.

22 {}

Member Function Documentation

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

Definition at line 60 of file AbsHcalFunctor.h.

References begin, end, plotBeamSpotDB::first, and mps_update::status.

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

61  {
62  if (begin == end)
63  return false;
64  Iter first(begin);
65  bool status = ++begin != end;
66  for (; begin != end && status; ++begin, ++first)
67  if (!(*begin < *first))
68  status = false;
69  return status;
70  }
#define end
Definition: vmac.h:37
#define begin
Definition: vmac.h:30
template<class Iter >
static bool AbsHcalFunctor::isStrictlyIncreasing ( Iter  begin,
Iter const  end 
)
inlinestaticprotected

Definition at line 46 of file AbsHcalFunctor.h.

References begin, end, plotBeamSpotDB::first, and mps_update::status.

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

47  {
48  if (begin == end)
49  return false;
50  Iter first(begin);
51  bool status = ++begin != end;
52  for (; begin != end && status; ++begin, ++first)
53  if (!(*first < *begin))
54  status = false;
55  return status;
56  }
#define end
Definition: vmac.h:37
#define begin
Definition: vmac.h:30
bool AbsHcalFunctor::operator!= ( const AbsHcalFunctor r) const
inline

Definition at line 36 of file AbsHcalFunctor.h.

References isEqual(), and alignCSCRings::r.

37  {return !(*this == r);}
virtual double AbsHcalFunctor::operator() ( double  x) const
pure virtual
bool AbsHcalFunctor::operator== ( const AbsHcalFunctor r) const
inline

Definition at line 34 of file AbsHcalFunctor.h.

References isEqual().

35  {return (typeid(*this) == typeid(r)) && this->isEqual(r);}
virtual bool isEqual(const AbsHcalFunctor &) const =0
template<typename Ar >
void AbsHcalFunctor::serialize ( Ar &  ar,
unsigned   
)
inlineprivate

Definition at line 75 of file AbsHcalFunctor.h.

75 {}
virtual double AbsHcalFunctor::xmax ( ) const
inlinevirtual
virtual double AbsHcalFunctor::xmin ( ) const
inlinevirtual

Friends And Related Function Documentation

friend class boost::serialization::access
friend

Definition at line 73 of file AbsHcalFunctor.h.