Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

BDProfMon.h

Go to the documentation of this file.
00001 
00029 #ifndef BDPROFMON_H
00030 #define BDPROFMON_H
00031 
00032 #include <BeamDataUtil/BDSwicDevice.h>
00033 
00034 #include <vector>
00035 
00036 #include <TGraphErrors.h>
00037 #include <TGraph.h>
00038 
00039 
00040 class BDProfMon : public BDSwicDevice {
00041 public:
00042     BDProfMon();
00043     BDProfMon(const RawBeamData& swic_data);
00044     virtual ~BDProfMon();
00045 
00049     virtual void SetData(const RawBeamData& swic_data);
00050 
00057     virtual bool SetMask(const std::vector<double>& mask);
00058 
00065     static int Xindex(int channel);
00066 
00073     static int Yindex(int channel);
00074 
00080     double WirePosition(int channel) const;
00081 
00090     double GetStats(double& xmean, double &ymean, double &xrms, double &yrms) const;
00091 
00101     double GetGaussFit(double& xmean, double &ymean, double &xsigma, double &ysigma) const;
00102     
00103 
00104 private:
00107     virtual int Index(const int channel);
00108     void SuppressDeadHot(TGraphErrors *prof) const;
00109 
00110     void UpdateCache();
00111     double GetStats(TGraphErrors *prof, double& mean, double& rms) const    ;
00112     double fSpacing;            // wire spacing depends on which profile monitor
00113 
00114 };
00115 
00116 
00117 #endif  // BDPROFMON_H

Generated on Mon Feb 15 11:06:24 2010 for loon by  doxygen 1.3.9.1