Main Page   Modules   Namespace List   Class Hierarchy   Data Structures   File List   Namespace Members   Data Fields   Globals   Related Pages  

ScanPoints.h

Go to the documentation of this file.
00001 #ifndef SCANPOINTS_H
00002 #define SCANPOINTS_H
00003 
00004 #include <vector>
00005 #include <string>
00006 #include "Sct/Streamable.h"
00007 #include "Sct/Exception.h"
00008 #include "Sct/RangedVector.h"
00009 
00010 using Sct::Streamable;
00011 using Sct::LogicError;
00012 using std::vector;
00013 using std::string;
00014 
00015 class TAxis;
00016 
00017 namespace SctData {
00018 
00025 class ScanPoints : public virtual Streamable{
00026 public:
00033     ScanPoints(const unsigned nPoints, 
00034            const float* points, 
00035            const unsigned* nEvents, 
00036            const unsigned* nErrorEvents) throw() ;
00037     
00039     ScanPoints() throw() ;
00040 
00042     virtual ~ScanPoints() throw() {}
00043     
00045     unsigned getNPoints() const throw();
00046     
00048     double getPoint(const unsigned i) const throw(LogicError);
00049     
00051     double operator[] (const unsigned i) const throw(LogicError);
00052     
00054     double& operator[] (const unsigned i) throw(LogicError);
00055     
00057     unsigned getNEvents(const unsigned i) const throw(LogicError);
00058     
00060     unsigned getNErrorEvents(const unsigned i) const throw(LogicError);
00061     
00063     void addPoint(const double point, const unsigned nEvents, const unsigned nErrorEvents) throw() ;
00064     
00070     double* getEdges() const throw(LogicError) ;
00071     
00075     void setAxis(TAxis& axis) const throw(LogicError);
00076     
00078     virtual string getClassName() const throw();
00079     
00080 private:
00082     class ScanPoint{
00083     public:
00084     ScanPoint(const double point, const unsigned nEv, const unsigned nErr) throw() : 
00085         point(point), nEvents(nEv), nErrorEvents(nErr)  {}
00087     ~ScanPoint() throw() {}
00089     operator double&() throw() {return point;}
00091     operator const double() const throw() {return point;}
00092     double point;              
00093     unsigned nEvents;          
00094     unsigned nErrorEvents;     
00095     };
00096 
00097     Sct::RangedVector<ScanPoint> points;   
00098 };
00099 }
00100 #endif //#ifndef SCANPOINTS_H

Generated on Mon Dec 15 19:36:14 2003 for SCT DAQ/DCS Software by doxygen1.3-rc3