00001
00024
00025 #ifndef CLDAQ__TANALYSER_HH
00026 #define CLDAQ__TANALYSER_HH
00027
00028 #include "Tglobals.h"
00029
00030 class TExtractor;
00031 class TMatrixElement;
00032
00033
00053 class TAnalyser
00054 {
00055
00056 protected:
00057 Tstring theAnalyserID;
00058 TExtractor** theExtractorList;
00059 Tint theExtractorListCapacity;
00060 Tint theNumberOfExtractors;
00061 Tint theExtractorIndex;
00062
00063 public:
00064 TAnalyser( const Tstring& id );
00065 virtual ~TAnalyser();
00066
00067 public:
00068 Tint AddExtractor( TExtractor* extractor );
00069 Tint RemoveExtractor( Tint index );
00070 Tvoid ClearExtractorList();
00071 Tbool ResizeExtractorList( Tint capacity );
00072 TExtractor* NextExtractor();
00073 TExtractor* FindExtractor( const Tstring& id );
00074 TExtractor* GetExtractor( Tint index );
00075 TExtractor* GetExtractor();
00076 Tint GetExtractorListCapacity() const;
00077 Tint GetNumberOfExtractors() const;
00078 Tint GetExtractorIndex() const;
00079 Tvoid SetExtractorIndex( Tint index );
00080 const Tstring& GetAnalyserID() const;
00081 Tvoid SetAnalyserID( const Tstring& id );
00082
00083 public:
00084 virtual Tvoid NotFoundExtractor();
00085
00086 public:
00087 virtual Tvoid OpenCanvas( const Tstring& id, const Tstring& title, Tint width = 640, Tint height = 480 ) = 0;
00088 virtual Tvoid ClearCanvas( const Tstring& id ) = 0;
00089 virtual Tvoid CloseCanvas( const Tstring& id ) = 0;
00090 virtual Tvoid Create1DHistogram( const Tstring& id, const Tstring& title, Tint nbin, Tdouble min, Tdouble max ) = 0;
00091 virtual Tvoid Create2DHistogram( const Tstring& id, const Tstring& title, Tint xbin, Tdouble xmin, Tdouble xmax, Tint ybin, Tdouble ymin, Tdouble ymax ) = 0;
00092 virtual Tvoid CreateAppendGraph( const Tstring& id, const Tstring& title ) = 0;
00093 virtual Tvoid CreateSubstituteGraph( const Tstring& id, const Tstring& title ) = 0;
00094 virtual Tvoid Fill( const TMatrixElement& matrix ) = 0;
00095 virtual Tvoid Clear( const Tstring& id ) = 0;
00096 virtual Tvoid Remove( const Tstring& id ) = 0;
00097 virtual Tvoid Update( const Tstring& id ) = 0;
00098
00099 protected:
00100 Tvoid free();
00101 Tvoid allocate( Tint capacity );
00102
00103 };
00104
00105 inline Tint TAnalyser::GetExtractorListCapacity() const
00106 {
00107 return theExtractorListCapacity;
00108 }
00109
00110 inline Tint TAnalyser::GetNumberOfExtractors() const
00111 {
00112 return theNumberOfExtractors;
00113 }
00114
00115 inline Tint TAnalyser::GetExtractorIndex() const
00116 {
00117 return theExtractorIndex;
00118 }
00119
00120 inline Tvoid TAnalyser::SetExtractorIndex( Tint index )
00121 {
00122 theExtractorIndex = index;
00123 return;
00124 }
00125
00126 inline const Tstring& TAnalyser::GetAnalyserID() const
00127 {
00128 return theAnalyserID;
00129 }
00130
00131 inline Tvoid TAnalyser::SetAnalyserID( const Tstring& id )
00132 {
00133 theAnalyserID = id;
00134 return;
00135 }
00136
00137 #endif