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