#include <GeneratorInterface/ExhumeInterface/interface/Weight.h>
Public Member Functions | |
std::map< double, double > | GetFuncMap () |
std::map< double, double > | GetLineShape () |
double | GetTotalIntegral () |
Weight () | |
virtual | ~Weight () |
Protected Member Functions | |
void | AddPoint (const double &, const double &) |
double | GetFunc (const double &xx_) |
double | GetValue (const double &xx_) |
virtual double | WeightFunc (const double &)=0 |
void | WeightInit (const double &, const double &) |
Protected Attributes | |
double | Max_ |
double | TotalIntegral |
Private Attributes | |
std::map< double, double > | FuncMap |
std::map< double, double > | LineShape |
unsigned int | NPoints |
Definition at line 14 of file Weight.h.
Exhume::Weight::Weight | ( | ) | [inline] |
virtual Exhume::Weight::~Weight | ( | ) | [inline, virtual] |
void Exhume::Weight::AddPoint | ( | const double & | , | |
const double & | ||||
) | [protected] |
double Exhume::Weight::GetFunc | ( | const double & | xx_ | ) | [inline, protected] |
Definition at line 36 of file Weight.h.
References FuncMap, Max_, and WeightFunc().
00036 { 00037 if(xx_ > Max_){ 00038 return(WeightFunc(xx_) ); 00039 } 00040 00041 std::map<double, double>::iterator high_, low_; 00042 high_ = FuncMap.upper_bound(xx_); 00043 low_ = high_; 00044 low_--; 00045 00046 return( low_->second + 00047 (high_->second - low_->second) * (xx_ - low_->first)/ 00048 (high_->first - low_->first)); 00049 };
std::map<double, double> Exhume::Weight::GetFuncMap | ( | ) | [inline] |
std::map<double, double> Exhume::Weight::GetLineShape | ( | ) | [inline] |
double Exhume::Weight::GetTotalIntegral | ( | ) | [inline] |
Definition at line 23 of file Weight.h.
References TotalIntegral.
00023 { 00024 return(TotalIntegral); 00025 };
double Exhume::Weight::GetValue | ( | const double & | xx_ | ) | [inline, protected] |
Definition at line 51 of file Weight.h.
References LineShape.
00051 { 00052 00053 std::map<double, double>::iterator high_, low_; 00054 high_ = LineShape.upper_bound(xx_); 00055 00056 if(high_==LineShape.end())high_--; 00057 00058 low_ = high_; 00059 low_--; 00060 00061 return( low_->second + 00062 (high_->second - low_->second) * (xx_ - low_->first)/ 00063 (high_->first - low_->first)); 00064 };
virtual double Exhume::Weight::WeightFunc | ( | const double & | ) | [protected, pure virtual] |
void Exhume::Weight::WeightInit | ( | const double & | , | |
const double & | ||||
) | [protected] |
std::map<double, double> Exhume::Weight::FuncMap [private] |
std::map<double, double> Exhume::Weight::LineShape [private] |
double Exhume::Weight::Max_ [protected] |
unsigned int Exhume::Weight::NPoints [private] |
double Exhume::Weight::TotalIntegral [protected] |