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 "GaudiKernel/SmartDataPtr.h"
00051 #include "GaudiKernel/IHistogram1D.h"
00052 #include "GaudiKernel/IHistogram2D.h"
00053 #include "GaudiKernel/IHistogramSvc.h"
00054 
00055 // Temporary until standard way of using matrices is sorted
00056 
00057 #include <string>
00058 
00059 //#include "AtlfastUtils/TMatrix.h"
00060 #include "CLHEP/Matrix/Matrix.h"
00061 #include "AtlfastEvent/MsgStreamDefs.h"
00062 #include "GaudiKernel/DataSvc.h"
00063 
00064 // Atlfast includes
00065 #include "AtlfastEvent/Track.h"
00066 #include "AtlfastAlgs/TrackTrajectory.h"
00067 #include "AtlfastAlgs/PionMatrixManager.h"
00068 #include "AtlfastAlgs/ElectronMatrixManager.h"
00069 #include "AtlfastAlgs/MuonMatrixManager.h"
00070 #include "AtlfastAlgs/IMatrixManager.h"
00071 
00072 namespace Atlfast {
00073 
00074 class TrackSmearer {
00075 
00076   private:
00077   MsgStream& m_log;
00078   string m_muConfig;
00082    IMatrixManager* m_electronMatrixManager;   
00083 
00087    IMatrixManager* m_muonMatrixManager;   
00088 
00092    IMatrixManager* m_pionMatrixManager;   
00093   public:
00094    
00095    // Constructor
00096    TrackSmearer(const string&, int, MsgStream&) ;
00097 
00098    // Destructor
00099    ~TrackSmearer() ;
00100    
00101    // New interface to client which wraps old interface SmearParameters
00102    TrackTrajectory smear( Track& track ) ;
00103    
00104 
00105 };
00106 
00107 } // end namespace
00108 
00109 #endif
00110 
00111 
00112 
00113 
00114 
00115 
00116 
00117 

Generated on Wed May 1 14:11:32 2002 for AtlfastAlgs by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001