00001 #ifndef TMom_H 00002 #define TMom_H 00003 00004 #include "TObject.h" 00005 #include<vector> 00006 00007 class TMom: public TObject 00008 { 00009 00010 private: 00011 00012 int nevt; 00013 double mean; 00014 double mean2; 00015 double mean3; 00016 double sum; 00017 double sum2; 00018 double sum3; 00019 double rms; 00020 double M3; 00021 double peak; 00022 double min; 00023 double max; 00024 int bing[101]; 00025 std::vector<double> _cutLow; 00026 std::vector<double> _cutHigh; 00027 std::vector<double> _ampl; 00028 00029 void init(double,double); 00030 void init(std::vector<double>,std::vector<double>); 00031 00032 public: 00033 00034 00035 int _dimCut; 00036 00037 00038 // Default Constructor, mainly for Root 00039 TMom(); 00040 00041 // Default Constructor 00042 TMom(double, double); 00043 00044 // Default Constructor 00045 TMom(std::vector<double>,std::vector<double>); 00046 00047 // Destructor: Does nothing 00048 virtual ~TMom(); 00049 00050 void setCut(double, double); 00051 void setCut(std::vector<double>,std::vector<double>); 00052 void addEntry(double val); 00053 void addEntry(double val, std::vector<double> valcut); 00054 double getMean(); 00055 double getMean2(); 00056 double getMean3(); 00057 int getNevt(); 00058 double getRMS(); 00059 double getM3(); 00060 double getMin(); 00061 double getMax(); 00062 std::vector<double> getPeak(); 00063 00064 // ClassDef(TMom,1) 00065 }; 00066 00067 #endif