ElectronBinData.h

Go to the documentation of this file.
00001 #ifndef ATLFAST_ELECTRONBINDATA_H
00002 #define ATLFAST_ELECTRONBINDATA_H
00003 #include <cmath>
00004 #include <vector>
00005 #include "CLHEP/Matrix/SymMatrix.h"
00006 #include "CLHEP/Random/JamesRandom.h"
00007 
00008 #include "AtlfastEvent/TrackTrajectory.h"
00009 #include "AtlfastAlgs/BinID.h"
00010 #include "AtlfastAlgs/IBinData.h"
00011 #include "AtlfastAlgs/ParameterResolutions.h"
00012 
00013 //======================================================
00014 //
00015 // ElectronBinData
00016 //
00017 // Class to hold smearing matrix data
00018 // and calculate correlation matrix for a given track
00019 //
00020 //======================================================
00021 
00022 
00023 namespace Atlfast 
00024 {
00032   using std::pair;
00033 
00034   class ElectronBinData: public IBinData 
00035   {
00036     public:
00037 
00039       ElectronBinData( BinID&,
00040                        vector< ParameterResolutions* >,
00041                        vector< ParameterResolutions* >,
00042                        vector< ParameterResolutions* >,
00043                        vector< ParameterResolutions* >,
00044                        int randSeed
00045                      );
00046       
00047       virtual ~ElectronBinData();
00048 
00054       HepSymMatrix getMatrix( const TrackTrajectory& track ) const;
00055       
00056 
00057     private:
00058       
00059       BinID m_id;
00060       
00061       vector< ParameterResolutions* >  m_cores;
00062       vector< ParameterResolutions* >  m_tails;
00063       vector< ParameterResolutions* >  m_fractions;
00064       vector< ParameterResolutions* >  m_correlations;
00065       
00066       HepRandomEngine*  m_randomEngine;    
00067   };
00068   
00069 }
00070 #endif

Generated on Mon Sep 24 14:19:10 2007 for AtlfastAlgs by  doxygen 1.5.1