00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef LWH_AIAnalysisFactory_H
00010 #define LWH_AIAnalysisFactory_H
00011
00012 #ifndef LWH_USING_AIDA
00013
00014 #include <string>
00015
00018 namespace AIDA {
00019
00020 class IDataPointSetFactory;
00021 class IFitFactory;
00022 class IFunctionFactory;
00023 class IPlotterFactory;
00024 class ITupleFactory;
00025 class ITreeFactory;
00026 class ITree;
00027 class IHistogramFactory;
00028
00029 class IAnalysisFactory {
00030
00031 public:
00032
00033 virtual ~IAnalysisFactory() {}
00034
00035 virtual ITreeFactory * createTreeFactory() = 0;
00036 virtual IHistogramFactory * createHistogramFactory(ITree & tree) = 0;
00037 virtual IDataPointSetFactory * createDataPointSetFactory(ITree &) = 0;
00038 virtual ITupleFactory * createTupleFactory(ITree &) = 0;
00039 virtual IFunctionFactory * createFunctionFactory(ITree &) = 0;
00040 virtual IFitFactory * createFitFactory() = 0;
00041 virtual IPlotterFactory * createPlotterFactory(int = 0, char * * = 0,
00042 const std::string & = "",
00043 const std::string & = "") = 0;
00044
00045 };
00046
00047 }
00048
00051 #else
00052 #include "AIDA/IAnalysisFactory.h"
00053 #endif
00054
00055 #endif