CMS 3D CMS Logo

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 13 of file ScalingExponential.h.

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

Definition at line 15 of file ScalingExponential.h.

17  : 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 28 of file ScalingExponential.h.

References alignCSCRings::r.

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

Definition at line 19 of file ScalingExponential.h.

References JetChargeProducer_cfi::exp, linear_, p0_, p1_, Scenarios_cff::scale, and x.

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

Definition at line 25 of file ScalingExponential.h.

References linear_, p0_, and p1_.

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

Definition at line 39 of file ScalingExponential.h.

References linear_.

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

Friends And Related Function Documentation

friend class boost::serialization::access
friend

Definition at line 36 of file ScalingExponential.h.

Member Data Documentation

uint8_t ScalingExponential::linear_
private

Definition at line 34 of file ScalingExponential.h.

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

double ScalingExponential::p0_
private

Definition at line 32 of file ScalingExponential.h.

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

double ScalingExponential::p1_
private

Definition at line 33 of file ScalingExponential.h.

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