00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef ATLFAST_CELLSMEARER_H
00019 #define ATLFAST_CELLSMEARER_H
00020
00021 #ifndef ATLFAST_ISMEARER_H
00022 #include "AtlfastAlgs/ISmearer.h"
00023 #endif
00024
00025 #ifndef ATLFAST_DEFAULTSMEARER_H
00026 #include "AtlfastAlgs/DefaultSmearer.h"
00027 #endif
00028
00029 #include "CLHEP/Vector/LorentzVector.h"
00030
00031 namespace Atlfast {
00032
00040 class CellSmearer : virtual public ISmearer,
00041 virtual private DefaultSmearer
00042 {
00043 public:
00044
00045
00046
00048 CellSmearer(const int aseed,
00049 const double barrelForwardEta) :
00050 ISmearer(),
00051 DefaultSmearer(aseed),
00052 m_BarrelForwardEta(barrelForwardEta)
00053 { }
00055 virtual ~CellSmearer() { }
00056
00058 virtual HepLorentzVector smear(const HepMC::GenParticle& );
00060 virtual HepLorentzVector smear(const HepLorentzVector& avec);
00061
00063 virtual int setSmearParameters( const std::vector<double>& smearValues );
00065 virtual int setSmearParamSchema( const int smearSchema);
00066
00067 private:
00069 double m_BarrelForwardEta;
00070 };
00071
00072 }
00073
00074 #endif
00075
00076