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

FastShower::HadEarlyEcConfigurer Class Reference

#include <HadEarlyEcConfigurer.h>

Inheritance diagram for FastShower::HadEarlyEcConfigurer:

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

Collaboration graph
[legend]
List of all members.

Public Methods

 HadEarlyEcConfigurer (Moni)
 HadEarlyEcConfigurer (NoMoni)
 ~HadEarlyEcConfigurer ()

Private Methods

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

ISamplermakeHS0 () const
ISamplermakeHC0 () const
ISamplermakeHAN () const
void addDepositorsE ()
void addDepositorsH ()
virtual EnergyLimiterenergyLimiter () const
 Default limiter limits energies to 10-100 GeV.

void normalisers ()
void initialise ()

Constructor & Destructor Documentation

FastShower::HadEarlyEcConfigurer::HadEarlyEcConfigurer Moni   
 

Definition at line 141 of file HadEarlyEcConfigurer.cxx.

References initialise().

00141                                                   :ConfigurerBase(m){
00142     this->initialise();
00143   }

FastShower::HadEarlyEcConfigurer::HadEarlyEcConfigurer NoMoni   
 

Definition at line 144 of file HadEarlyEcConfigurer.cxx.

References initialise().

00144                                                      :ConfigurerBase(nm){
00145     this->initialise();
00146   }

FastShower::HadEarlyEcConfigurer::~HadEarlyEcConfigurer   [inline]
 

Definition at line 36 of file HadEarlyEcConfigurer.h.

00036 {};

Member Function Documentation

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

ISampler * FastShower::HadEarlyEcConfigurer::makeEAN   const [private]
 

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

Definition at line 316 of file HadEarlyEcConfigurer.cxx.

00316                                                 {
00317 
00318     std::vector< std::pair<double, ISampler*> > v;
00319     v.push_back(std::pair<double, ISampler*>(0.15, this->findSampler("EAN1"))); 
00320     v.push_back(std::pair<double, ISampler*>(1.00, this->findSampler("EAN2"))); 
00321     //return new SamplerRouterSNSample(v, 0.0, "EANRouter");
00322     return new ANSamplerRouterSNSample(v, 0.0, "EANRouter");
00323 
00324   }

ISampler * FastShower::HadEarlyEcConfigurer::makeHS0   const [private]
 

Definition at line 326 of file HadEarlyEcConfigurer.cxx.

00326                                                 {
00327 
00328     std::vector< std::pair<double, ISampler*> > v;
00329     v.push_back(std::pair<double, ISampler*>(  15.0, this->findSampler("HS01"))); 
00330     v.push_back(std::pair<double, ISampler*>(  30.0, this->findSampler("HS02")));
00331     v.push_back(std::pair<double, ISampler*>(FLT_MAX, this->findSampler("HS03")));
00332     //return new SamplerRouterEnergySample(v, 0.0, "HS0Router");
00333     return new S0SamplerRouterEnergySample(v, 0.0, "HS0Router");
00334     
00335   }

ISampler * FastShower::HadEarlyEcConfigurer::makeHC0   const [private]
 

Definition at line 337 of file HadEarlyEcConfigurer.cxx.

00337                                                 {
00338 
00339     std::vector< std::pair<double, ISampler*> > v;
00340     v.push_back(std::pair<double, ISampler*>(  15.0, this->findSampler("HC01"))); 
00341     v.push_back(std::pair<double, ISampler*>(  30.0, this->findSampler("HC02")));
00342     v.push_back(std::pair<double, ISampler*>(FLT_MAX, this->findSampler("HC03")));
00343     //return new SamplerRouterEnergySample(v, 0.0, "HC0Router");
00344     return new C0SamplerRouterEnergySample(v, 0.0, "HC0Router");
00345     
00346   }

ISampler * FastShower::HadEarlyEcConfigurer::makeHAN   const [private]
 

Definition at line 348 of file HadEarlyEcConfigurer.cxx.

00348                                                 {
00349 
00350     std::vector< std::pair<double, ISampler*> > vr;
00351     vr.push_back(std::pair<double, ISampler*>(0.05, this->findSampler("HAN11"))); 
00352     vr.push_back(std::pair<double, ISampler*>(0.10, this->findSampler("HAN12")));
00353     vr.push_back(std::pair<double, ISampler*>(0.15, this->findSampler("HAN13")));
00354     //ISampler* snSampler = new  SamplerRouterSNSample(vr, 0.0, "HAN1Router");
00355     ISampler* snSampler = new  ANSamplerRouterSNSample(vr, 0.0, "HAN1Router");
00356     
00357     std::vector< std::pair<double, ISampler*> > v;
00358     v.push_back(std::pair<double, ISampler*>(0.15, snSampler)); 
00359     v.push_back(std::pair<double, ISampler*>(1.00, this->findSampler("HAN2"))); 
00360     //return new SamplerRouterSNSample(v, 0.0, "HANRouter");
00361     return new ANSamplerRouterSNSample(v, 0.0, "HANRouter");
00362 
00363   }

void FastShower::HadEarlyEcConfigurer::addDepositorsE   [private]
 

Definition at line 365 of file HadEarlyEcConfigurer.cxx.

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

Referenced by initialise().

00365                                            {
00366     
00367     this->addEdepositor( "EcalCore",
00368                          new CoreDepositor(
00369                                            this->findSampler("ES0"),
00370                                            this->findSampler("EC0"),
00371                                            this->findSampler("ESN"),
00372                                            this->findSampler("EAN")
00373                                            )
00374                          );
00375 
00376     this->addEdepositor( "EcalHalo", new HaloDepositor(this,"eHalo"));
00377 
00378   }

void FastShower::HadEarlyEcConfigurer::addDepositorsH   [private]
 

Definition at line 380 of file HadEarlyEcConfigurer.cxx.

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

Referenced by initialise().

00380                                            {
00381     
00382     this->addHdepositor( "HcalCore",
00383                          new CoreDepositor(
00384                                            this->findSampler("HS0"),
00385                                            this->findSampler("HC0"),
00386                                            this->findSampler("HSN"),
00387                                            this->findSampler("HAN")
00388                                            )
00389                          );
00390 
00391     this->addHdepositor( "HcalHalo", new HaloDepositor(this,"hHalo"));
00392     
00393   }

EnergyLimiter * FastShower::HadEarlyEcConfigurer::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 395 of file HadEarlyEcConfigurer.cxx.

00395                                                            {
00396     cout<<"HadEarlyEcConfigurer: constructing energy limiter"<<endl;
00397     return new EnergyLimiter(10., 50., "HadEarlyEcEnergyLimiter");
00398   }

void FastShower::HadEarlyEcConfigurer::normalisers   [private]
 

Definition at line 400 of file HadEarlyEcConfigurer.cxx.

References FastShower::ConfigurerBase::addNormaliser().

Referenced by initialise().

00400                                         {
00401     this->addNormaliser("EcalNormaliser",  
00402                         new HadEarlyEcalNormaliser(this,"HadEarlyEcEcalNormaliser"));
00403     this->addNormaliser("HcalNormaliser",  
00404                         new HadEarlyHcalNormaliser(this,"HadEarlyEcHcalNormaliser"));
00405   }

void FastShower::HadEarlyEcConfigurer::initialise   [private]
 

Definition at line 147 of file HadEarlyEcConfigurer.cxx.

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

Referenced by HadEarlyEcConfigurer().

00147                                        {
00148     // *********************** ECAL ********************************
00149     //S0
00150     this->addFn("ES0PeakMean",       new  PeakMeanS0HadEarlyEcalEc1);
00151     this->addFn("ES0PeakSigma",      new  PeakSigmaS0HadEarlyEcalEc1);
00152     this->addFn("ES0TailFrac",       new  TailFracS0HadEarlyEcalEc1);
00153     //C0
00154     this->addFn("EC0PeakMean",       new  PeakMeanC0HadEarlyEcalEc1);
00155     this->addFn("EC0PeakSigma",      new  PeakSigmaC0HadEarlyEcalEc1);
00156     this->addFn("EC0TailFrac",       new  TailFracC0HadEarlyEcalEc1);
00157     //SN
00158     this->addFn("ESNPeakMean",       new  PeakMeanSNHadEarlyEcalEc1);
00159     this->addFn("ESNPeakSigma",      new  PeakSigmaSNHadEarlyEcalEc1);
00160     //AN1 
00161     this->addFn("EAN1PeakMean",      new  PeakMeanANHadEarlyEcalEc1);
00162     this->addFn("EAN1PeakSigma",     new  PeakSigmaANHadEarlyEcalEc1);
00163     this->addFn("EAN1TailFrac",      new  TailFracANHadEarlyEcalEc1);
00164     //AN2 
00165     this->addFn("EAN2PeakMean",      new  PeakMeanANHadEarlyEcalEc1);
00166     this->addFn("EAN2PeakSigma",     new  PeakSigmaANHadEarlyEcalEc1);
00167     //
00168     // *********************** HCAL ********************************
00169     //S01
00170     this->addFn("HS01TailFrac",     new  TailFracS0HadEarlyHcalEc1);
00171     //S02
00172     this->addFn("HS02PeakMean",     new  PeakMeanS0HadEarlyHcalEc1);
00173     this->addFn("HS02PeakSigma",    new  PeakSigmaS0HadEarlyHcalEc1);
00174     this->addFn("HS02TailFrac",     new  TailFracS0HadEarlyHcalEc2);
00175     //S03
00176     this->addFn("HS03PeakMean",     new  PeakMeanS0HadEarlyHcalEc1);
00177     this->addFn("HS03PeakSigma",    new  PeakSigmaS0HadEarlyHcalEc1);
00178     this->addFn("HS03TailFrac",     new  TailFracS0HadEarlyHcalEc2);
00179     //C01
00180     this->addFn("HC01TailFrac",     new  TailFracC0HadEarlyHcalEc1);
00181     //C02
00182     this->addFn("HC02PeakMean",     new  PeakMeanC0HadEarlyHcalEc1);
00183     this->addFn("HC02PeakSigma",    new  PeakSigmaC0HadEarlyHcalEc1);
00184     this->addFn("HC02TailFrac",     new  TailFracC0HadEarlyHcalEc2);
00185     //C03
00186     this->addFn("HC03PeakMean",     new  PeakMeanC0HadEarlyHcalEc1);
00187     this->addFn("HC03PeakSigma",    new  PeakSigmaC0HadEarlyHcalEc1);
00188     this->addFn("HC03TailFrac",     new  TailFracC0HadEarlyHcalEc3);
00189     //SN
00190     this->addFn("HSNPeakMean",      new  PeakMeanSNHadEarlyHcalEc1);
00191     this->addFn("HSNPeakSigma",     new  PeakSigmaSNHadEarlyHcalEc1);
00192     //AN11
00193     this->addFn("HAN11PeakMean",    new  PeakMeanANHadEarlyHcalEc1);
00194     this->addFn("HAN11PeakSigma",   new  PeakSigmaANHadEarlyHcalEc1);
00195     this->addFn("HAN11TailFrac",    new  TailFracANHadEarlyHcalEc11);
00196     //AN12
00197     this->addFn("HAN12PeakMean",    new  PeakMeanANHadEarlyHcalEc1);
00198     this->addFn("HAN12PeakSigma",   new  PeakSigmaANHadEarlyHcalEc1);
00199     this->addFn("HAN12TailFrac",    new  TailFracANHadEarlyHcalEc12);
00200     //AN13
00201     this->addFn("HAN13PeakMean",    new  PeakMeanANHadEarlyHcalEc1);
00202     this->addFn("HAN13PeakSigma",   new  PeakSigmaANHadEarlyHcalEc1);
00203     this->addFn("HAN13TailFrac",    new  TailFracANHadEarlyHcalEc13);
00204     //AN2 
00205     this->addFn("HAN2PeakMean",     new  PeakMeanANHadEarlyHcalEc1);
00206     this->addFn("HAN2PeakSigma",    new  PeakSigmaANHadEarlyHcalEc1);
00207     //
00208     //*******************************************************
00209     //*        Functions for Ecal HaloDepositor             *
00210     //*******************************************************
00211     this->addFnPP("eHaloCell1",  new  HadEarlyEcalEcHaloCell1);
00212     this->addFnPP("eHaloCell2",  new  HadEarlyEcalEcHaloCell2);
00213     this->addFnPP("eHaloCell3",  new  HadEarlyEcalEcHaloCell3);
00214     this->addFnPP("eHaloCell4",  new  HadEarlyEcalEcHaloCell4);
00215     this->addFnPP("eHaloCell5",  new  HadEarlyEcalEcHaloCell5);
00216     this->addFnPP("eHaloCell6",  new  HadEarlyEcalEcHaloCell6);
00217     this->addFnPP("eHaloCell7",  new  HadEarlyEcalEcHaloCell7);
00218     this->addFnPP("eHaloCell8",  new  HadEarlyEcalEcHaloCell8);
00219     this->addFnPP("eHaloCell9",  new  HadEarlyEcalEcHaloCell9);
00220     this->addFnPP("eHaloCell10",  new  HadEarlyEcalEcHaloCell10);
00221     this->addFnPP("eHaloCell11",  new  HadEarlyEcalEcHaloCell11);
00222     this->addFnPP("eHaloCell12",  new  HadEarlyEcalEcHaloCell12);
00223     this->addFnPP("eHaloCell13",  new  HadEarlyEcalEcHaloCell13);
00224     this->addFnPP("eHaloCell14",  new  HadEarlyEcalEcHaloCell14);
00225     //
00226     //*******************************************************
00227     //*       Functions for Hcal HaloDepositor              *
00228     //*******************************************************
00229     this->addFnPP("hHaloCell1",  new  HadEarlyHcalEcHaloCell1);
00230     this->addFnPP("hHaloCell2",  new  HadEarlyHcalEcHaloCell2);
00231     this->addFnPP("hHaloCell3",  new  HadEarlyHcalEcHaloCell3);
00232     this->addFnPP("hHaloCell4",  new  HadEarlyHcalEcHaloCell4);
00233     this->addFnPP("hHaloCell5",  new  HadEarlyHcalEcHaloCell5);
00234     this->addFnPP("hHaloCell6",  new  HadEarlyHcalEcHaloCell6);
00235     this->addFnPP("hHaloCell7",  new  HadEarlyHcalEcHaloCell7);
00236     this->addFnPP("hHaloCell8",  new  HadEarlyHcalEcHaloCell8);
00237     this->addFnPP("hHaloCell9",  new  HadEarlyHcalEcHaloCell9);
00238     this->addFnPP("hHaloCell10",  new  HadEarlyHcalEcHaloCell10);
00239     this->addFnPP("hHaloCell11",  new  HadEarlyHcalEcHaloCell11);
00240     this->addFnPP("hHaloCell12",  new  HadEarlyHcalEcHaloCell12);
00241     this->addFnPP("hHaloCell13",  new  HadEarlyHcalEcHaloCell13);
00242     this->addFnPP("hHaloCell14",  new  HadEarlyHcalEcHaloCell14);
00243     //
00244     //*******************************************************
00245     //*              Functions for Normalisers              *
00246     //*******************************************************
00247     this->addFnPP("EcalEtaResponse",  new  HadEcalEtaResponseEc);
00248     this->addFnPP("HcalEtaResponse",  new  HadHcalEtaResponseEc);
00249     this->addFnPP("EcalCoreFraction", new  HadEarlyEcalCoreFracEc);
00250     this->addFnPP("HcalCoreFraction", new  HadEarlyHcalCoreFracEc);
00251     //
00252     //*******************************************************
00253     //*    IUpdating Gaussians (Peaks for Ecal  Samplers)   *
00254     //*******************************************************
00255     this->addIUG("ES0Peak",   this->makeUpdatingGaussian0LP("ES0") );
00256     this->addIUG("EC0Peak",   this->makeUpdatingGaussian0LP("EC0") );
00257     this->addIUG("ESNPeak",   this->makeUpdatingGaussian01P("ESN") );
00258     this->addIUG("EAN1Peak",  this->makeUpdatingGaussian0LP("EAN1") );
00259     this->addIUG("EAN2Peak",  this->makeUpdatingGaussian0LP("EAN2") );
00260     //
00261     //*******************************************************
00262     //*   ECAL    Samplers                                  *
00263     //*******************************************************
00264     this->addSampler("ES0",   new S0HadEarlyEcalEc1(this, "ES0") );
00265     this->addSampler("EC0",   new C0HadEarlyEcalEc1(this, "EC0") );
00266     this->addSampler("ESN",   new SNHadEarlyEcalEc1(this, "ESN") );
00267     this->addSampler("EAN1",  new ANHadEarlyEcalEc1(this, "EAN1") );
00268     this->addSampler("EAN2",  new ANHadEarlyEcalEc2(this, "EAN2") );
00269 
00270     this->addSampler("EAN",   this->makeEAN() );
00271     //
00272     //*******************************************************
00273     //*    IUpdating Gaussians (Peaks for Hcal  Samplers)   *
00274     //*******************************************************
00275     this->addIUG("HS02Peak",  this->makeUpdatingGaussian0LP("HS02") );
00276     this->addIUG("HS03Peak",  this->makeUpdatingGaussian0LP("HS03") );
00277     this->addIUG("HC02Peak",  this->makeUpdatingGaussian02P("HC02") );
00278     this->addIUG("HC03Peak",  this->makeUpdatingGaussian0LP("HC03") );
00279     this->addIUG("HSNPeak",   this->makeUpdatingGaussian01P("HSN") );
00280     this->addIUG("HAN11Peak", this->makeUpdatingGaussian0LP("HAN11") );
00281     this->addIUG("HAN12Peak", this->makeUpdatingGaussian0LP("HAN12") );
00282     this->addIUG("HAN13Peak", this->makeUpdatingGaussian0LP("HAN13") );
00283     this->addIUG("HAN2Peak",  this->makeUpdatingGaussian0LP("HAN2") );
00284     //
00285     //*******************************************************
00286     //*   HCAL    Samplers                                  *
00287     //*******************************************************
00288     this->addSampler("HS01",  new S0HadEarlyHcalEc1(this, "HS01") );
00289     this->addSampler("HS02",  new S0HadEarlyHcalEc2(this, "HS02") );
00290     this->addSampler("HS03",  new S0HadEarlyHcalEc3(this, "HS03") );
00291     this->addSampler("HC01",  new C0HadEarlyHcalEc1(this, "HC01") );
00292     this->addSampler("HC02",  new C0HadEarlyHcalEc2(this, "HC02") );
00293     this->addSampler("HC03",  new C0HadEarlyHcalEc3(this, "HC03") );
00294     this->addSampler("HSN",   new SNHadEarlyHcalEc1(this, "HSN") );
00295     this->addSampler("HAN11", new ANHadEarlyHcalEc1(this, "HAN11") );
00296     this->addSampler("HAN12", new ANHadEarlyHcalEc1(this, "HAN12") );
00297     this->addSampler("HAN13", new ANHadEarlyHcalEc1(this, "HAN13") );
00298     this->addSampler("HAN2",  new ANHadEarlyHcalEc2(this, "HAN2") );
00299 
00300     this->addSampler("HS0",   this->makeHS0() );
00301     this->addSampler("HC0",   this->makeHC0() );
00302     this->addSampler("HAN",   this->makeHAN() );
00303     //
00304     //*******************************************************
00305     //*       Depositors                                    *
00306     //*******************************************************
00307     this->addDepositorsE();
00308     this->addDepositorsH();
00309     //*******************************************************
00310     //*       Normalisers                                   *
00311     //*******************************************************
00312     this->normalisers();
00313    }

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