00001 #ifndef ATLFAST_IMATRIXMANAGER_H
00002 #define ATLFAST_IMATRIXMANAGER_H
00003
00004 #include "AtlfastAlgs/TrackTrajectory.h"
00005 #include "AtlfastAlgs/BinID.h"
00006 #include "CLHEP/Random/JamesRandom.h"
00007 #include "CLHEP/Matrix/Matrix.h"
00008 #include <vector>
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 namespace Atlfast {
00023 using std::vector;
00024 class IMatrixManager {
00025 public:
00026
00027 virtual vector<double> getVariables(const TrackTrajectory& track,
00028 HepMatrix& usedSigma) const = 0;
00029 private:
00030 virtual void initialise() = 0;
00031 virtual BinID getBinID(const TrackTrajectory& track) const = 0;
00032 };
00033
00034 }
00035
00036 #endif
00037
00038
00039
00040
00041