00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef __TANALYSER_HH
00011 #define __TANALYSER_HH
00012
00013 #include "Tglobals.h"
00014
00015 class TExtractor;
00016 class TMatrixElement;
00017
00018 class TAnalyser
00019 {
00020
00021 protected:
00022 Tstring theAnalyserID;
00023 TExtractor** theExtractorList;
00024 Tint theExtractorListCapacity;
00025 Tint theNumberOfExtractors;
00026 Tint theExtractorIndex;
00027
00028 public:
00029 TAnalyser( const Tstring& id );
00030 virtual ~TAnalyser();
00031
00032 public:
00033 Tint AddExtractor( TExtractor* extractor );
00034 Tint RemoveExtractor( Tint index );
00035 Tvoid ClearExtractorList();
00036 Tbool ResizeExtractorList( Tint capacity );
00037 TExtractor* NextExtractor();
00038 TExtractor* FindExtractor( const Tstring& id );
00039 TExtractor* GetExtractor( Tint index );
00040 TExtractor* GetExtractor();
00041 Tint GetExtractorListCapacity() const;
00042 Tint GetNumberOfExtractors() const;
00043 Tint GetExtractorIndex() const;
00044 Tvoid SetExtractorIndex( Tint index );
00045 const Tstring& GetAnalyserID() const;
00046 Tvoid SetAnalyserID( const Tstring& id );
00047
00048 public:
00049 virtual Tvoid NotFoundExtractor();
00050
00051 public:
00052 virtual Tvoid OpenCanvas( const Tstring& id, const Tstring& title, Tint width = 640, Tint height = 480 ) = 0;
00053 virtual Tvoid ClearCanvas( const Tstring& id ) = 0;
00054 virtual Tvoid CloseCanvas( const Tstring& id ) = 0;
00055 virtual Tvoid Create1DHistogram( const Tstring& id, const Tstring& title, Tint nbin, Tdouble min, Tdouble max ) = 0;
00056 virtual Tvoid Create2DHistogram( const Tstring& id, const Tstring& title, Tint xbin, Tdouble xmin, Tdouble xmax, Tint ybin, Tdouble ymin, Tdouble ymax ) = 0;
00057 virtual Tvoid CreateAppendGraph( const Tstring& id, const Tstring& title ) = 0;
00058 virtual Tvoid CreateSubstituteGraph( const Tstring& id, const Tstring& title ) = 0;
00059 virtual Tvoid Fill( const TMatrixElement& matrix ) = 0;
00060 virtual Tvoid Clear( const Tstring& id ) = 0;
00061 virtual Tvoid Remove( const Tstring& id ) = 0;
00062 virtual Tvoid Update( const Tstring& id ) = 0;
00063
00064 protected:
00065 Tvoid free();
00066 Tvoid allocate( Tint capacity );
00067
00068 };
00069
00070 inline Tint TAnalyser::GetExtractorListCapacity() const
00071 {
00072 return( theExtractorListCapacity );
00073 }
00074
00075 inline Tint TAnalyser::GetNumberOfExtractors() const
00076 {
00077 return( theNumberOfExtractors );
00078 }
00079
00080 inline Tint TAnalyser::GetExtractorIndex() const
00081 {
00082 return( theExtractorIndex );
00083 }
00084
00085 inline Tvoid TAnalyser::SetExtractorIndex( Tint index )
00086 {
00087 theExtractorIndex = index;
00088 return;
00089 }
00090
00091 inline const Tstring& TAnalyser::GetAnalyserID() const
00092 {
00093 return( theAnalyserID );
00094 }
00095
00096 inline Tvoid TAnalyser::SetAnalyserID( const Tstring& id )
00097 {
00098 theAnalyserID = id;
00099 return;
00100 }
00101
00102 #endif