CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros 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 9 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.

16  : p0_(p0), p1_(p1), linear_(isLinear) {}
double p1[4]
Definition: TauolaWrapper.h:89

Member Function Documentation

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

Definition at line 27 of file ScalingExponential.h.

References alignCSCRings::r.

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

Definition at line 18 of file ScalingExponential.h.

References create_public_lumi_plots::exp, linear_, p0_, p1_, pileupReCalc_HLTpaths::scale, and x.

19  {
20  const double scale = linear_ ? p0_*x + p1_ : p0_*(1.0 - exp(-x/p1_));
21  return scale*x;
22  }
Definition: DDAxes.h:10
bool ScalingExponential::operator== ( const ScalingExponential r) const
inline

Definition at line 24 of file ScalingExponential.h.

References linear_, p0_, and p1_.

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

Definition at line 38 of file ScalingExponential.h.

References linear_, p0_, and p1_.

39  {
40  ar & p0_ & p1_ & linear_;
41  }

Friends And Related Function Documentation

friend class boost::serialization::access
friend

Definition at line 35 of file ScalingExponential.h.

Member Data Documentation

uint8_t ScalingExponential::linear_
private

Definition at line 33 of file ScalingExponential.h.

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

double ScalingExponential::p0_
private

Definition at line 31 of file ScalingExponential.h.

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

double ScalingExponential::p1_
private

Definition at line 32 of file ScalingExponential.h.

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