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

PionMatrixManager.h

Go to the documentation of this file.
00001 #ifndef ATLFAST_PIONMATRIXMANAGER_H
00002 #define ATLFAST_PIONMATRIXMANAGER_H
00003 
00004 #include "GaudiKernel/MsgStream.h"
00005 #include "AtlfastAlgs/PionBinData.h"
00006 #include "AtlfastAlgs/TrackTrajectory.h"
00007 #include "CLHEP/Random/JamesRandom.h"
00008 #include "AtlfastAlgs/IMatrixManager.h"
00009 #include "AtlfastAlgs/BinID.h"
00010 #include "AtlfastAlgs/CorrelatedData.h"
00011 #include "AtlfastUtils/HeaderPrinter.h"
00012 
00013 #include <vector>
00014 #include <string>
00015 #include <map>
00016 #include <utility>
00017 
00018 //===========================================================
00019 //
00020 //  Matrix Manager
00021 // 
00022 //  Used by tracksmearer to provide smear matrix data 
00023 //  corresponding to a given track trajectory
00024 //
00025 //===========================================================
00026 // RMS 26/4/2001
00027 // Modified to use parametrisation provided by
00028 // Armin Nairz
00029 //===========================================================
00030 
00031 
00032 namespace Atlfast {
00033   using std::string;
00034   using std::ifstream;
00035   using std::map;
00036 
00042   class PionMatrixManager: public IMatrixManager
00043 {
00044 
00045  public:
00047   PionMatrixManager(int, MsgStream);
00049   virtual ~PionMatrixManager();
00051   vector<double> getVariables(const TrackTrajectory& track,
00052                               HepMatrix& usedSigma) const;
00053 
00054 
00055  private:
00056   MsgStream* m_log;
00059   void initialise();
00060   void fillVector(ifstream&, vector< vector<double> >&, int);
00061   void makeHeader(); 
00063   BinID getBinID(const TrackTrajectory& track) const;
00065   string m_file;
00067   map<BinID, PionBinData*> m_binData;
00069   CorrelatedData* m_correlatedData;
00071   HepRandomEngine* m_randomEngine;
00072 
00073   vector<double> m_etaBoundaries;
00074   vector<double> m_rTBoundaries;
00075   int m_nRTBins;
00076   int m_nEtaBins;
00077 
00078 };
00079 
00080 }
00081 
00082 #endif
00083 
00084 
00085 
00086 
00087 

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