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

FastShower::HadLateEcConfigurer Class Reference

#include <HadLateEcConfigurer.h>

Inheritance diagram for FastShower::HadLateEcConfigurer:

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

Collaboration graph
[legend]
List of all members.

Public Methods

 HadLateEcConfigurer (Moni)
 HadLateEcConfigurer (NoMoni)
 ~HadLateEcConfigurer ()

Private Methods

HadLateEcConfigurer operator= (const HadLateEcConfigurer &)
ISamplermakeC0 () const
 methods to return pointers that are built from things already built using this configurer.

ISamplermakeSN () const
ISamplermakeAN () const
void addDepositorsE ()
void addDepositorsH ()
virtual EnergyLimiterenergyLimiter () const
 Default limiter limits energies to 10-100 GeV.

void normalisers ()
void initialise ()

Constructor & Destructor Documentation

FastShower::HadLateEcConfigurer::HadLateEcConfigurer Moni   
 

Definition at line 85 of file HadLateEcConfigurer.cxx.

References initialise().

00085                                                 :ConfigurerBase(m){
00086     this->initialise();
00087   }

FastShower::HadLateEcConfigurer::HadLateEcConfigurer NoMoni   
 

Definition at line 88 of file HadLateEcConfigurer.cxx.

References initialise().

00088                                                    :ConfigurerBase(nm){
00089     this->initialise();
00090   }

FastShower::HadLateEcConfigurer::~HadLateEcConfigurer   [inline]
 

Definition at line 36 of file HadLateEcConfigurer.h.

00036 {};

Member Function Documentation

HadLateEcConfigurer FastShower::HadLateEcConfigurer::operator= const HadLateEcConfigurer &    [private]
 

ISampler * FastShower::HadLateEcConfigurer::makeC0   const [private]
 

methods to return pointers that are built from things already built using this configurer.

Definition at line 185 of file HadLateEcConfigurer.cxx.

00185                                               {
00186 
00187     std::vector< std::pair<double, ISampler*> > vr;
00188     vr.push_back(std::pair<double, ISampler*>(0.5, this->findSampler("C021"))); 
00189     vr.push_back(std::pair<double, ISampler*>(1.0, this->findSampler("C022")));
00190     //ISampler* rndmSampler = new  SamplerRouterRndmSample(vr, 0.0, "C02Router");
00191     ISampler* rndmSampler = new  C0SamplerRouterRandomSample(vr, 0.0, "C02Router");
00192     
00193     std::vector< std::pair<double, ISampler*> > v;
00194     v.push_back(std::pair<double, ISampler*>(0.035, this->findSampler("C01"))); 
00195     v.push_back(std::pair<double, ISampler*>(0.050, rndmSampler)); 
00196     //return new SamplerRouterADPhiSample(v, 0.0, "C0Router");
00197     return new C0SamplerRouterADPhiSample(v, 0.0, "C0Router");
00198     
00199   }

ISampler * FastShower::HadLateEcConfigurer::makeSN   const [private]
 

Definition at line 201 of file HadLateEcConfigurer.cxx.

00201                                               {
00202 
00203     std::vector< std::pair<double, ISampler*> > v;
00204     v.push_back(std::pair<double, ISampler*>(0.6, this->findSampler("SN1"))); 
00205     v.push_back(std::pair<double, ISampler*>(1.0, this->findSampler("SN2"))); 
00206     //return new SamplerRouterC0Sample(v, 0.0, "SNRouter");
00207     return new SNSamplerRouterC0Sample(v, 0.0, "SNRouter");
00208     
00209   }

ISampler * FastShower::HadLateEcConfigurer::makeAN   const [private]
 

Definition at line 211 of file HadLateEcConfigurer.cxx.

00211                                               {
00212 
00213     std::vector< std::pair<double, ISampler*> > v;
00214     v.push_back(std::pair<double, ISampler*>(0.15, this->findSampler("AN1"))); 
00215     v.push_back(std::pair<double, ISampler*>(1.00, this->findSampler("AN2"))); 
00216     //return new SamplerRouterSNSample(v, 0.0, "ANRouter");
00217     return new ANSamplerRouterSNSample(v, 0.0, "ANRouter");
00218 
00219   }

void FastShower::HadLateEcConfigurer::addDepositorsE   [private]
 

Definition at line 221 of file HadLateEcConfigurer.cxx.

References FastShower::ConfigurerBase::addEdepositor().

Referenced by initialise().

00221                                           {
00222     
00223     this->addEdepositor( "ECalPencil", new PencilDepositor);
00224 
00225   }

void FastShower::HadLateEcConfigurer::addDepositorsH   [private]
 

Definition at line 227 of file HadLateEcConfigurer.cxx.

References FastShower::ConfigurerBase::addHdepositor(), and FastShower::ConfigurerBase::findSampler().

Referenced by initialise().

00227                                           {
00228     
00229     this->addHdepositor( "HcalCore",
00230                          new CoreDepositor(
00231                                            this->findSampler("S0"),
00232                                            this->findSampler("C0"),
00233                                            this->findSampler("SN"),
00234                                            this->findSampler("AN")
00235                                            )
00236                          );
00237 
00238     this->addHdepositor( "HcalHalo", new HaloDepositor(this,"Halo"));
00239     
00240   }

EnergyLimiter * FastShower::HadLateEcConfigurer::energyLimiter   const [private, virtual]
 

Default limiter limits energies to 10-100 GeV.

Specific ShowerConfigurers should derive if they want some other limits.

Reimplemented from FastShower::ConfigurerBase.

Definition at line 242 of file HadLateEcConfigurer.cxx.

00242                                                           {
00243     cout<<"HadLateEcConfigurer: constructing energy limiter"<<endl;
00244     return new EnergyLimiter(10., 50., "HadLateEcEnergyLimiter");
00245   }

void FastShower::HadLateEcConfigurer::normalisers   [private]
 

Definition at line 247 of file HadLateEcConfigurer.cxx.

References FastShower::ConfigurerBase::addNormaliser().

Referenced by initialise().

00247                                        {
00248     this->addNormaliser("EcalNormaliser",  
00249                         new HadLateEcalNormaliser(this,"HadLateEcEcalNormaliser"));
00250     this->addNormaliser("HcalNormaliser",  
00251                         new HadLateHcalNormaliser(this,"HadLateEcHcalNormaliser"));
00252   }

void FastShower::HadLateEcConfigurer::initialise   [private]
 

Definition at line 91 of file HadLateEcConfigurer.cxx.

References addDepositorsE(), addDepositorsH(), FastShower::ConfigurerBase::addFn(), FastShower::ConfigurerBase::addFnPP(), FastShower::ConfigurerBase::addIUG(), FastShower::ConfigurerBase::addSampler(), and normalisers().

Referenced by HadLateEcConfigurer().

00091                                       {
00092     //S0
00093     this->addFn("S0PeakMean",        new  PeakMeanS0HadLateHcalEc1);
00094     this->addFn("S0PeakSigma",       new  PeakSigmaS0HadLateHcalEc1);
00095     this->addFn("S0TailFrac",        new  TailFracS0HadLateHcalEc1);
00096     //C01
00097     this->addFn("C01PeakMean",       new  PeakMeanC0HadLateHcalEc1);
00098     this->addFn("C01PeakSigma",      new  PeakSigmaC0HadLateHcalEc1);
00099     this->addFn("C01TailFrac",       new  TailFracC0HadLateHcalEc1);
00100     //C021
00101     this->addFn("C021PeakMean",      new  PeakMeanC0HadLateHcalEc21);
00102     this->addFn("C021PeakSigma",     new  PeakSigmaC0HadLateHcalEc21);
00103     //C022
00104     this->addFn("C022PeakMean",      new  PeakMeanC0HadLateHcalEc22);
00105     this->addFn("C022PeakSigma",     new  PeakSigmaC0HadLateHcalEc22);
00106     //SN11
00107     this->addFn("SN1PeakMean",       new  PeakMeanSNHadLateHcalEc1);
00108     this->addFn("SN1PeakSigma",      new  PeakSigmaSNHadLateHcalEc11);
00109     //SN12
00110     this->addFn("SN2PeakMean",       new  PeakMeanSNHadLateHcalEc1);
00111     this->addFn("SN2PeakSigma",      new  PeakSigmaSNHadLateHcalEc12);
00112     //AN1 
00113     this->addFn("AN1PeakMean",       new  PeakMeanANHadLateHcalEc1);
00114     this->addFn("AN1PeakSigma",      new  PeakSigmaANHadLateHcalEc1);
00115     this->addFn("AN1TailFrac",       new  TailFracANHadLateHcalEc1);
00116     //AN2 
00117     this->addFn("AN2PeakMean",       new  PeakMeanANHadLateHcalEc1);
00118     this->addFn("AN2PeakSigma",      new  PeakSigmaANHadLateHcalEc1);
00119     //
00120     //*******************************************************
00121     //*           Functions for HaloDepositor               *
00122     //*******************************************************
00123     this->addFnPP("HaloCell1",  new  HadLateHcalEcHaloCell1);
00124     this->addFnPP("HaloCell2",  new  HadLateHcalEcHaloCell2);
00125     this->addFnPP("HaloCell3",  new  HadLateHcalEcHaloCell3);
00126     this->addFnPP("HaloCell4",  new  HadLateHcalEcHaloCell4);
00127     this->addFnPP("HaloCell5",  new  HadLateHcalEcHaloCell5);
00128     this->addFnPP("HaloCell6",  new  HadLateHcalEcHaloCell6);
00129     this->addFnPP("HaloCell7",  new  HadLateHcalEcHaloCell7);
00130     this->addFnPP("HaloCell8",  new  HadLateHcalEcHaloCell8);
00131     this->addFnPP("HaloCell9",  new  HadLateHcalEcHaloCell9);
00132     this->addFnPP("HaloCell10",  new  HadLateHcalEcHaloCell10);
00133     this->addFnPP("HaloCell11",  new  HadLateHcalEcHaloCell11);
00134     this->addFnPP("HaloCell12",  new  HadLateHcalEcHaloCell12);
00135     this->addFnPP("HaloCell13",  new  HadLateHcalEcHaloCell13);
00136     this->addFnPP("HaloCell14",  new  HadLateHcalEcHaloCell14);
00137     //
00138     //*******************************************************
00139     //*              Functions for Normalisers              *
00140     //*******************************************************
00141     this->addFnPP("EcalEtaResponse",  new  HadEcalEtaResponseEc);
00142     this->addFnPP("HcalEtaResponse",  new  HadHcalEtaResponseEc);
00143     this->addFnPP("HcalCoreFraction", new  HadLateHcalCoreFracEc);
00144     //
00145     //*******************************************************
00146     //*       IUpdating Gaussians (Peaks for Samplers)      *
00147     //*******************************************************
00148     this->addIUG("S0Peak",   this->makeUpdatingGaussian0LP("S0") );
00149     this->addIUG("C01Peak",  this->makeUpdatingGaussian0LP("C01") );
00150     this->addIUG("C021Peak", this->makeUpdatingGaussian0LP("C021") );
00151     this->addIUG("C022Peak", this->makeUpdatingGaussian0LP("C022") );
00152     this->addIUG("SN1Peak",  this->makeUpdatingGaussian01P("SN1") );
00153     this->addIUG("SN2Peak",  this->makeUpdatingGaussian01P("SN2") );
00154     this->addIUG("AN1Peak",  this->makeUpdatingGaussian0LP("AN1") );
00155     this->addIUG("AN2Peak",  this->makeUpdatingGaussian0LP("AN2") );
00156     //
00157     //*******************************************************
00158     //*       Samplers                                      *
00159     //*******************************************************
00160     this->addSampler("S0",   new S0HadLateHcalEc1(this, "S0") );
00161     this->addSampler("C01",  new C0HadLateHcalEc1(this, "C01") );
00162     this->addSampler("C021", new C0HadLateHcalEc2(this, "C021") );
00163     this->addSampler("C022", new C0HadLateHcalEc2(this, "C022") );
00164     this->addSampler("SN1",  new SNHadLateHcalEc1(this, "SN1") );
00165     this->addSampler("SN2",  new SNHadLateHcalEc1(this, "SN2") );
00166     this->addSampler("AN1",  new ANHadLateHcalEc1(this, "AN1") );
00167     this->addSampler("AN2",  new ANHadLateHcalEc2(this, "AN2") );
00168 
00169     this->addSampler("C0",   this->makeC0() );
00170     this->addSampler("SN",   this->makeSN() );
00171     this->addSampler("AN",   this->makeAN() );
00172     //
00173     //*******************************************************
00174     //*       Depositors                                    *
00175     //*******************************************************
00176     this->addDepositorsE();
00177     this->addDepositorsH();
00178     //*******************************************************
00179     //*       Normalisers                                   *
00180     //*******************************************************
00181     this->normalisers();
00182    }

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