00001 #ifndef ATLFAST_BREMDISPLACEMENT_H
00002 #define ATLFAST_BREMDISPLACEMENT_H
00003
00004 #include <map>
00005 #include <vector>
00006
00007 namespace Atlfast {
00008
00010 class Displacement{
00011 public:
00013 Displacement() {}
00015 ~Displacement() {}
00017 Displacement(double off,
00018 double pow,
00019 std::vector<std::map<double,double> > average,
00020 std::vector<std::map<double,double> > rms):
00021 m_off(off), m_pow(pow), m_average(average), m_rms(rms) {}
00023 Displacement(const Displacement& disp);
00025 Displacement& operator=(const Displacement& disp);
00026
00027
00028 double off() const {return m_off;}
00029 double pow() const {return m_pow;}
00030 double average(int iEta, double random) const;
00031 double rms(int iEta, double random) const;
00032
00033 private:
00034 double m_off;
00035 double m_pow;
00036 std::vector<std::map<double, double> > m_average;
00037 std::vector<std::map<double, double> > m_rms;
00038 };
00039
00040
00041 }
00042
00043 #endif