Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

FastShower::UpdatingGaussian0LP Class Reference

#include <UpdatingGaussian0LP.h>

Inheritance diagram for FastShower::UpdatingGaussian0LP:

Inheritance graph
[legend]
Collaboration diagram for FastShower::UpdatingGaussian0LP:

Collaboration graph
[legend]
List of all members.

Public Methods

 UpdatingGaussian0LP (const std::string &samplerName, const IConfigurer &)
virtual ~UpdatingGaussian0LP ()
virtual std::pair< double,
double > 
getLims (double phyiscalLow, double nSigmaLow, double physicalUp, double nSigmaUp, const PolyArgs &) const
 find limits for sampling.

virtual IDistProcessormakeIDistProcessor (const PolyArgs &) const
virtual IUpdatingGaussianclone () const

Constructor & Destructor Documentation

FastShower::UpdatingGaussian0LP::UpdatingGaussian0LP const std::string &    samplerName,
const IConfigurer  
 

Definition at line 5 of file UpdatingGaussian0LP.cxx.

Referenced by clone().

00006                                                                 :
00007     UpdatingGaussianBase(label, c){
00008   }
  //

virtual FastShower::UpdatingGaussian0LP::~UpdatingGaussian0LP   [inline, virtual]
 

Definition at line 52 of file UpdatingGaussian0LP.h.

00052 {};

Member Function Documentation

std::pair< double, double > FastShower::UpdatingGaussian0LP::getLims double    phyiscalLow,
double    nSigmaLow,
double    physicalUp,
double    nSigmaUp,
const PolyArgs  
const [virtual]
 

find limits for sampling.

The distribution will be truncated at -nSigmaLow +nSigmaUp, unless physical limits are exceeded, in which case the physical limits will be used.

Implements FastShower::UpdatingGaussianBase.

Definition at line 10 of file UpdatingGaussian0LP.cxx.

References FastShower::IUpdatingGaussian::parameters().

00015                                                              {
00016     std::pair<double, double> params = this->parameters(pa);
00017     double mean  = params.first;
00018     double sigma = params.second;
00019     
00020     double lowLim = mean-(nSigmaLow*sigma);
00021     if(lowLim<physicalLow){ lowLim=physicalLow;}
00022     
00023     double upLim = mean+(nSigmaUp*sigma);
00024     if(upLim>physicalUp){ upLim=physicalUp;}
00025     
00026     return std::pair<double, double>(lowLim, upLim);
00027   }

IDistProcessor * FastShower::UpdatingGaussian0LP::makeIDistProcessor const PolyArgs   const [virtual]
 

Implements FastShower::UpdatingGaussianBase.

Definition at line 29 of file UpdatingGaussian0LP.cxx.

References FastShower::IUpdatingGaussian::parameters().

00029                                                                  {
00030     std::pair<double, double> params = this->parameters(pa); //get mean, sigma
00031     //mult by sigma, add mean
00032     return new LinearProcessor(params.second, params.first);
00033   }

IUpdatingGaussian * FastShower::UpdatingGaussian0LP::clone   const [virtual]
 

Implements FastShower::IUpdatingGaussian.

Definition at line 34 of file UpdatingGaussian0LP.cxx.

References UpdatingGaussian0LP().

00034                                                      {
00035     IUpdatingGaussian* nug= new UpdatingGaussian0LP(*this);
00036     return nug;
00037   }

The documentation for this class was generated from the following files:
Generated on Tue Mar 18 11:58:39 2003 for FastShowerUtils by doxygen1.3-rc1