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