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

ElectronSmearer.h

Go to the documentation of this file.
00001 // ElectronSmearer class
00002 //
00003 // Implements smearing for electrons
00004 //
00005 // Namespace Atlfast::
00006 //
00007 //--------------------------------------------------------------
00008 //
00009 // ElectronSmearer replicates the smearing code of ATLFAST++'s
00010 // ElectronMaker. 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: H.T.Phillips, P. Clarke, E. Richter-Was, P. Sherwood, R. Steward
00016 //
00017 
00018 #ifndef ATLFAST_ELECTRONSMEARER_H
00019 #define ATLFAST_ELECTRONSMEARER_H
00020 
00021 
00022 #include "AtlfastAlgs/ISmearer.h"
00023 #include "AtlfastAlgs/DefaultSmearer.h"
00024 
00025 class HepLorentzVector; //forward declaration
00026 
00027 namespace Atlfast {
00028 
00039   class ElectronSmearer : virtual public ISmearer, 
00040                           virtual private DefaultSmearer 
00041     {
00042     public:
00043       //--------------------------------------------------------------------------
00044       // constructors and destructors- we can leave everything to DefaultSmearer
00045       //--------------------------------------------------------------------------
00047       ElectronSmearer(const int aseed, const int lumi) : ISmearer(), DefaultSmearer(aseed), m_lumi(lumi) { }
00049       virtual ~ElectronSmearer() { }
00050 
00051       //--------------------------------------------------------------------------
00052       // the only thing we actually need to provide is the smear() method
00053       //--------------------------------------------------------------------------
00055       virtual HepLorentzVector smear(const HepLorentzVector& avec);
00056 
00057     private:
00058       //--------------------------------------------------------------------------
00059       // luminosity option. Currently using an int with 1= low lumi
00060       // 2 = high lumi. This is not very pleasant, but leave for now
00061       //--------------------------------------------------------------------------
00063       int m_lumi;
00064 
00065     };
00066 
00067 } // end of namespace bracket
00068 
00069 #endif

Generated on Tue Mar 18 11:18:23 2003 for AtlfastAlgs by doxygen1.3-rc1