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

FastShower::UpdatingGaussianBase Class Reference

#include <UpdatingGaussianBase.h>

Inheritance diagram for FastShower::UpdatingGaussianBase:

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

Collaboration graph
[legend]
List of all members.

Public Methods

 UpdatingGaussianBase (const std::string &samplerName, const IConfigurer &)
virtual ~UpdatingGaussianBase ()
virtual double sample (double phyiscalLow, double nSigmaLow, double physicalUp, double nSigmaUp, const PolyArgs &) const
 sample a processed normal dist.

virtual std::pair< double,
double > 
parameters (const PolyArgs &) const
 Tail distributions (eg) need to get peak mean, sigma (eg) to establish their own range.

virtual void components (std::vector< const IDebug * > &) const
virtual IDistProcessormakeIDistProcessor (const PolyArgs &) const=0
virtual std::pair< double,
double > 
getLims (double phyiscalLow, double nSigmaLow, double physicalUp, double nSigmaUp, const PolyArgs &) const=0
virtual IUpdatingGaussianclone () const=0

Private Attributes

SP< IFnm_mean
 Two functions to supply the DistProcessors with parameters.

SP< IFnm_sigma
SP< IProcessedDistm_normal

Constructor & Destructor Documentation

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

Definition at line 5 of file UpdatingGaussianBase.cxx.

References FastShower::IConfigurer::findFn(), m_mean, m_normal, m_sigma, and FastShower::IConfigurer::makeProcessedNormal().

00006                                                           {
00007     m_mean   = c.findFn(sampler+"PeakMean");
00008     m_sigma  = c.findFn(sampler+"PeakSigma");
00009     m_normal = c.makeProcessedNormal(sampler);
00010   }

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

Definition at line 52 of file UpdatingGaussianBase.h.

00052 {};

Member Function Documentation

double FastShower::UpdatingGaussianBase::sample double    phyiscalLow,
double    nSigmaLow,
double    physicalUp,
double    nSigmaUp,
const PolyArgs  
const [virtual]
 

sample a processed normal dist.

The procesed norm will be truncated at -nSigmaLow +nSigmaUp, unless physical limits are exceeded.

Implements FastShower::IUpdatingGaussian.

Definition at line 11 of file UpdatingGaussianBase.cxx.

References getLims(), m_normal, makeIDistProcessor(), and sample().

Referenced by sample().

00016                                           {
00017     std::pair<double, double> limits = 
00018       this->getLims(physicalLow, nSigmaLow, physicalUp, nSigmaUp, pa);
00019     
00020     IDistProcessor* dp = makeIDistProcessor(pa);
00021     
00022     double sample = m_normal->sample(limits.first, limits.second, dp);
00023     delete dp;
00024     return sample;
00025   }

std::pair< double, double > FastShower::UpdatingGaussianBase::parameters const PolyArgs   const [virtual]
 

Tail distributions (eg) need to get peak mean, sigma (eg) to establish their own range.

Implements FastShower::IUpdatingGaussian.

Definition at line 28 of file UpdatingGaussianBase.cxx.

References m_mean, and m_sigma.

00028                                                             {
00029     std::pair<double, double> params(m_mean->value(pa), m_sigma->value(pa));
00030     return params;
00031   }

void FastShower::UpdatingGaussianBase::components std::vector< const IDebug * > &    const [virtual]
 

Definition at line 34 of file UpdatingGaussianBase.cxx.

References m_mean, m_normal, and m_sigma.

00034                                                                    {
00035     v.clear();
00036     v.push_back(m_mean);
00037     v.push_back(m_sigma);
00038     v.push_back(m_normal);    
00039     }

virtual IDistProcessor* FastShower::UpdatingGaussianBase::makeIDistProcessor const PolyArgs   const [pure virtual]
 

Implemented in FastShower::UpdatingGaussian01P, FastShower::UpdatingGaussian02P, and FastShower::UpdatingGaussian0LP.

Referenced by sample().

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

Implemented in FastShower::UpdatingGaussian01P, FastShower::UpdatingGaussian02P, and FastShower::UpdatingGaussian0LP.

Referenced by sample().

virtual IUpdatingGaussian* FastShower::UpdatingGaussianBase::clone   const [pure virtual]
 

Implements FastShower::IUpdatingGaussian.

Implemented in FastShower::UpdatingGaussian01P, FastShower::UpdatingGaussian02P, and FastShower::UpdatingGaussian0LP.


Member Data Documentation

SP<IFn> FastShower::UpdatingGaussianBase::m_mean [private]
 

Two functions to supply the DistProcessors with parameters.

Definition at line 78 of file UpdatingGaussianBase.h.

Referenced by components(), parameters(), and UpdatingGaussianBase().

SP<IFn> FastShower::UpdatingGaussianBase::m_sigma [private]
 

Definition at line 79 of file UpdatingGaussianBase.h.

Referenced by components(), parameters(), and UpdatingGaussianBase().

SP<IProcessedDist> FastShower::UpdatingGaussianBase::m_normal [private]
 

Definition at line 80 of file UpdatingGaussianBase.h.

Referenced by components(), sample(), and UpdatingGaussianBase().


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