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

TrackSmearer.h

Go to the documentation of this file.
00001 
00002 /************
00003  Still needs:
00004 
00005  - two FIXMEs to be checked with ELzbieta
00006  
00007  - interfacing to smearing parameters
00008 ************/
00009 
00010 // ================================================
00011 // TrackSmearer class description
00012 // ================================================
00013 //
00014 // THIS TEXT TO BE REPLACED BY ATLAS STANDARD FORMAT
00015 //
00016 //
00017 // This version....
00018 //
00019 //
00020 // Namespace Atlfast::
00021 //
00022 // class: TrackSmearer
00023 //
00024 // Description: 
00025 //
00026 //  Used to smear track helix parameters
00027 //
00028 //  Takes as input a set of helix parameters, and smears using a 
00029 //  parameterised set of correclated resolutions which are input from 
00030 //  an external source
00031 //   
00032 // ................................................................
00033 //
00034 
00035 #ifndef ATLFAST_TRACKSMEARER_H
00036 #define ATLFAST_TRACKSMEARER_H
00037 
00038 // CLHEP includes
00039 #include "CLHEP/Random/RandGauss.h"
00040 #include "CLHEP/Random/JamesRandom.h"
00041 #include "CLHEP/Matrix/Matrix.h"
00042 
00043 // Athena stuff
00044 #include "GaudiKernel/ISvcLocator.h"
00045 #include "GaudiKernel/IAlgorithm.h"
00046 #include "GaudiKernel/Algorithm.h"
00047 #include "GaudiKernel/MsgStream.h"
00048 #include "GaudiKernel/DataObject.h"
00049 #include "GaudiKernel/ObjectVector.h"
00050 #include "AIDA/IHistogram1D.h"
00051 #include "AIDA/IHistogram2D.h"
00052 #include "GaudiKernel/IHistogramSvc.h"
00053 
00054 // Temporary until standard way of using matrices is sorted
00055 
00056 #include <string>
00057 
00058 //#include "AtlfastUtils/TMatrix.h"
00059 #include "CLHEP/Matrix/Matrix.h"
00060 #include "AtlfastEvent/MsgStreamDefs.h"
00061 #include "GaudiKernel/DataSvc.h"
00062 
00063 // Atlfast includes
00064 #include "AtlfastEvent/Track.h"
00065 
00066 namespace Atlfast {
00067 
00068   class IMatrixManager;
00069 
00070 class TrackSmearer {
00071 
00072   private:
00073   MsgStream& m_log;
00074   string m_muConfig;
00078    IMatrixManager* m_electronMatrixManager;   
00079 
00083    IMatrixManager* m_muonMatrixManager;   
00084 
00088    IMatrixManager* m_pionMatrixManager;   
00089   public:
00090    
00091    // Constructor
00092    TrackSmearer(const string&, int, MsgStream&) ;
00093 
00094    // Destructor
00095    ~TrackSmearer() ;
00096    
00097    // New interface to client which wraps old interface SmearParameters
00098    Track smear(const Track& track ) const ;
00099    
00100 
00101 };
00102 
00103 } // end namespace
00104 
00105 #endif
00106 
00107 
00108 
00109 
00110 
00111 
00112 
00113 

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