thepeg is hosted by Hepforge, IPPP Durham
ThePEG  2.2.1
AIAnalysisFactory.h
1 // -*- C++ -*-
2 //
3 // AIAnalysisFactory.h is a part of ThePEG - Toolkit for HEP Event Generation
4 // Copyright (C) 1999-2019 Leif Lonnblad
5 //
6 // ThePEG is licenced under version 3 of the GPL, see COPYING for details.
7 // Please respect the MCnet academic guidelines, see GUIDELINES for details.
8 //
9 #ifndef LWH_AIAnalysisFactory_H
10 #define LWH_AIAnalysisFactory_H
11 
12 
13 
14 #include <string>
15 
18 namespace AIDA {
19 
20 class IDataPointSetFactory;
21 class IFitFactory;
22 class IFunctionFactory;
23 class IPlotterFactory;
24 class ITupleFactory;
25 class ITreeFactory;
26 class ITree;
27 class IHistogramFactory;
28 
29 class IAnalysisFactory {
30 
31 public:
32 
33  virtual ~IAnalysisFactory() {}
34 
35  virtual ITreeFactory * createTreeFactory() = 0;
36  virtual IHistogramFactory * createHistogramFactory(ITree & tree) = 0;
37  virtual IDataPointSetFactory * createDataPointSetFactory(ITree &) = 0;
38  virtual ITupleFactory * createTupleFactory(ITree &) = 0;
39  virtual IFunctionFactory * createFunctionFactory(ITree &) = 0;
40  virtual IFitFactory * createFitFactory() = 0;
41  virtual IPlotterFactory * createPlotterFactory(int = 0, char * * = 0,
42  const std::string & = "",
43  const std::string & = "") = 0;
44 
45 };
46 
47 }
48 
55 #endif /* LWH_AIAnalysisFactory_H */