Marlin  1.10.0
 All Classes Namespaces Functions Variables Enumerations Friends Pages
AIDAProcessor.h
1 #ifndef AIDAProcessor_h
2 #define AIDAProcessor_h 1
3 
4 #include "marlin/MarlinConfig.h"
5 
6 #ifdef MARLIN_AIDA
7 
8 #include "marlin/Processor.h"
9 #include "lcio.h"
10 
11 namespace AIDA{
12  class IAnalysisFactory ;
13  class ITreeFactory ;
14  class ITree ;
15  class IHistogramFactory ;
16  class ITupleFactory ;
17  class IDataPointSetFactory ;
18 }
19 
20 class HistoManager ;
21 
22 using namespace lcio ;
23 
24 namespace marlin {
25 
26 
47 
48  public:
49 
50  virtual Processor* newProcessor() ;
51 
52 
53  AIDAProcessor() ;
54 
58  virtual void init() ;
59 
62  virtual void processRunHeader( LCRunHeader* run ) ;
63 
66  virtual void processEvent( LCEvent * evt ) ;
67 
70  virtual void check( LCEvent * evt ) ;
71 
72 
75  virtual void end() ;
76 
77 
82  static AIDA::IHistogramFactory* histogramFactory( const Processor* proc ) ;
83 
88  static AIDA::ITupleFactory* tupleFactory( const Processor* proc ) ;
89 
94  static AIDA::ITree* tree( const Processor* proc ) ;
95 
100  static AIDA::IDataPointSetFactory* dataPointSetFactory( const Processor* proc ) ;
101 
106  static AIDA::IAnalysisFactory* GetIAnalysisFactory( const Processor* proc );
107 
108 
109 protected:
110 
111  AIDA::IAnalysisFactory* _analysisFactory ;
112  AIDA::ITreeFactory* _treeFactory ;
113  AIDA::ITree* _tree ;
114  AIDA::IHistogramFactory* _histoFactory ;
115  AIDA::ITupleFactory* _tupleFactory ;
116  AIDA::IDataPointSetFactory* _dataPointSetFactory ;
117 
118  std::string _fileType ;
119  std::string _fileName ;
120  int _compress ;
121 
122 private:
123 
124  static AIDAProcessor* _me ;
125 } ;
126 
127 } // end namespace marlin
128 
129 #endif // MARLIN_AIDA
130 #endif // AIDAProcessor_h
131 
Provides access to AIDA histograms, ntuples, etc.
Definition: AIDAProcessor.h:46
Base class for Marlin processors.
Definition: Processor.h:63