00001
00002
00003
00004
00005 #include "FastShowerUtils/Samplers/C0HadLateHcalBar1.h"
00006
00007 #include "FastShowerUtils/ParticleParameters.h"
00008 #include "FastShowerUtils/PolyArgs.h"
00009 #include "FastShowerUtils/CoreSamples.h"
00010 #include "FastShowerUtils/IFn.h"
00011 #include "FastShowerUtils/LinearProcessor.h"
00012 #include "FastShowerUtils/UpdatingGaussian.h"
00013 #include "FastShowerUtils/IConfigurer.h"
00014 #include <cmath>
00015 #include <iostream>
00016
00017 namespace FastShower{
00018
00019 using std::pair;
00020
00022 C0HadLateHcalBar1::C0HadLateHcalBar1(IUpdatingGaussian* g):
00023 ISampler(), ICell0(), DebugBase("C0HadLateHcalBar1"), m_peak(g) {}
00025 C0HadLateHcalBar1::C0HadLateHcalBar1(const IConfigurer* c,
00026 const std::string& s):
00027 DebugBase(s), m_peak(0){
00028 m_peak = c->findIUG( text()+"Peak" );
00029 cout<<text()<<" finishing construction"<<endl;
00030 }
00032 ISampler* C0HadLateHcalBar1::clone() const {
00033 return new C0HadLateHcalBar1(*this);
00034 }
00036 void C0HadLateHcalBar1::sample(const PolyArgs& pa, CoreSamples& cs)const{
00037 cs.fill(this,m_peak->sample(0.0, 100, 1.0, 100, pa));
00038 }
00040 double C0HadLateHcalBar1::lastValue(const CoreSamples& cs) const {
00041 return cs.give(this);
00042 }
00044 void C0HadLateHcalBar1::components(IDebug::Cpts& v) const{
00045 v.push_back(m_peak);
00046 }
00047
00048 }
00049
00050
00051
00052
00053
00054
00055