CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes | Friends
ScalingExponential Class Reference

#include <ScalingExponential.h>

Public Member Functions

bool operator!= (const ScalingExponential &r) const
 
double operator() (const double x) const
 
bool operator== (const ScalingExponential &r) const
 
 ScalingExponential ()
 
 ScalingExponential (const double p0, const double p1, const bool isLinear=false)
 

Private Member Functions

template<class Archive >
void serialize (Archive &ar, unsigned)
 

Private Attributes

uint8_t linear_
 
double p0_
 
double p1_
 

Friends

class boost::serialization::access
 

Detailed Description

Definition at line 10 of file ScalingExponential.h.

Constructor & Destructor Documentation

ScalingExponential::ScalingExponential ( )
inline

Definition at line 12 of file ScalingExponential.h.

ScalingExponential::ScalingExponential ( const double  p0,
const double  p1,
const bool  isLinear = false 
)
inline

Definition at line 14 of file ScalingExponential.h.

15  : p0_(p0), p1_(p1), linear_(isLinear) {}
const TString p1
Definition: fwPaths.cc:12

Member Function Documentation

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

Definition at line 26 of file ScalingExponential.h.

References alignCSCRings::r.

26 { return !(*this == r); }
double ScalingExponential::operator() ( const double  x) const
inline

Definition at line 17 of file ScalingExponential.h.

References funct::exp(), linear_, p0_, p1_, pileupReCalc_HLTpaths::scale, and x.

17  {
18  const double scale = linear_ ? p0_ * x + p1_ : p0_ * (1.0 - exp(-x / p1_));
19  return scale * x;
20  }
Exp< T >::type exp(const T &t)
Definition: Exp.h:22
bool ScalingExponential::operator== ( const ScalingExponential r) const
inline

Definition at line 22 of file ScalingExponential.h.

References linear_, p0_, and p1_.

22  {
23  return p0_ == r.p0_ && p1_ == r.p1_ && linear_ == r.linear_;
24  }
template<class Archive >
void ScalingExponential::serialize ( Archive &  ar,
unsigned   
)
inlineprivate

Definition at line 36 of file ScalingExponential.h.

References linear_, p0_, and p1_.

36  {
37  ar& p0_& p1_& linear_;
38  }

Friends And Related Function Documentation

friend class boost::serialization::access
friend

Definition at line 33 of file ScalingExponential.h.

Member Data Documentation

uint8_t ScalingExponential::linear_
private

Definition at line 31 of file ScalingExponential.h.

Referenced by operator()(), operator==(), and serialize().

double ScalingExponential::p0_
private

Definition at line 29 of file ScalingExponential.h.

Referenced by operator()(), operator==(), and serialize().

double ScalingExponential::p1_
private

Definition at line 30 of file ScalingExponential.h.

Referenced by operator()(), operator==(), and serialize().