00001 #ifndef ATLFAST_MUONBINDATA2_H
00002 #define ATLFAST_MUONBINDATA2_H
00003 #include "CLHEP/Matrix/Matrix.h"
00004 #include <vector>
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 namespace Atlfast {
00016 class BinID;
00017 class TrackTrajectory;
00018 using std::vector;
00027 class MuonBinData2 {
00028
00029 public:
00031 MuonBinData2(){};
00032 MuonBinData2(const BinID& id, const vector<HepMatrix>& interpol);
00036 HepMatrix getMatrix(const TrackTrajectory& track) const;
00037
00038 private:
00039
00040 double m_0_00;
00041 double m_0_10minus00;
00042 double m_0_01;
00043 double m_0_11minus01;
00044
00045 double m_1_00;
00046 double m_1_10minus00;
00047 double m_1_01;
00048 double m_1_11minus01;
00049
00050 double m_2_00;
00051 double m_2_10minus00;
00052 double m_2_01;
00053 double m_2_11minus01;
00054
00055 double m_3_00;
00056 double m_3_10minus00;
00057 double m_3_01;
00058 double m_3_11minus01;
00059
00060 double m_4_00;
00061 double m_4_10minus00;
00062 double m_4_01;
00063 double m_4_11minus01;
00064
00065 double m_5_00;
00066 double m_5_10minus00;
00067 double m_5_01;
00068 double m_5_11minus01;
00069
00070 double m_6_00;
00071 double m_6_10minus00;
00072 double m_6_01;
00073 double m_6_11minus01;
00074
00075 double m_7_00;
00076 double m_7_10minus00;
00077 double m_7_01;
00078 double m_7_11minus01;
00079
00080 double m_8_00;
00081 double m_8_10minus00;
00082 double m_8_01;
00083 double m_8_11minus01;
00084
00085 double m_ptHighSq;
00086 double m_ptLowSq;
00087 double m_ptfun1;
00088 double m_ptfun2;
00089 double m_etaLow;
00090 double m_etaDiff;
00091
00094 HepMatrix calculate(const TrackTrajectory& track) const;
00095
00096 };
00097
00098
00099 }
00100 #endif
00101