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

PhotonSmearer.h

Go to the documentation of this file.
00001 // PhotonSmearer class
00002 //
00003 // Implements smearing for photons
00004 //
00005 // Namespace Atlfast::
00006 //
00007 //--------------------------------------------------------------
00008 //
00009 // PhotonSmearer replicates the smearing code of ATLFAST++'s
00010 // PhotonMaker. 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_PHOTONSMEARER_H
00019 #define ATLFAST_PHOTONSMEARER_H
00020 
00021 
00022 #include "AtlfastCode/ISmearer.h"
00023 #include "AtlfastCode/DefaultSmearer.h"
00024 
00025 class HepLorentzVector; //forward declaration
00026 
00027 namespace Atlfast {
00035   class PhotonSmearer : virtual public ISmearer, 
00036                           virtual private DefaultSmearer 
00037     {
00038     public:
00039       //--------------------------------------------------------------------------
00040       // constructors and destructors- we can leave everything to DefaultSmearer
00041       //--------------------------------------------------------------------------
00042       PhotonSmearer(const int aseed, const int lumi) : ISmearer(), DefaultSmearer(aseed), m_lumi(lumi) { }
00043       virtual ~PhotonSmearer() { }
00044 
00045       //--------------------------------------------------------------------------
00046       // the only thing we actually need to provide is the smear() method
00047       //--------------------------------------------------------------------------
00048       virtual HepLorentzVector smear(const HepLorentzVector& avec);
00049 
00050     private:
00051       //--------------------------------------------------------------------------
00052       // luminosity option. Currently using an int with 1= low lumi
00053       // 2 = high lumi. This is not very pleasant, but leave for now
00054       //--------------------------------------------------------------------------
00055       int m_lumi;
00056 
00057     };
00058 
00059 } // end of namespace bracket
00060 
00061 #endif

Generated on Thu Feb 21 14:30:46 2002 for Atlfast by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001