CellSmearer.h

Go to the documentation of this file.
00001 // JetSmearer class
00002 //
00003 // Implements smearing for Cells
00004 //
00005 // Namespace Atlfast::
00006 //
00007 //--------------------------------------------------------------
00008 //
00009 // CellSmearer replicates the smearing code of ATLFAST++'s
00010 // JetMaker. It provides the smear() method defined
00011 // in the ISmearer interface. It privately inherits from
00012 // the DefaultSmearer class to use its implementation of
00013 // random number services etc.
00014 //
00015 // Authors: J.Couchman
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       // constructors and destructors- we can leave everything to DefaultSmearer
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 } // end of namespace bracket
00073 
00074 #endif
00075 
00076 

Generated on Mon Sep 24 14:19:10 2007 for AtlfastAlgs by  doxygen 1.5.1