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