Marlin  1.17.1
 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  AIDAProcessor(const marlin::AIDAProcessor&) = delete;
55  AIDAProcessor& operator=(const marlin::AIDAProcessor&) = delete;
56 
60  virtual void init() ;
61 
64  virtual void processRunHeader( LCRunHeader* run ) ;
65 
68  virtual void processEvent( LCEvent * evt ) ;
69 
72  virtual void check( LCEvent * evt ) ;
73 
74 
77  virtual void end() ;
78 
79 
84  static AIDA::IHistogramFactory* histogramFactory( const Processor* proc ) ;
85 
90  static AIDA::ITupleFactory* tupleFactory( const Processor* proc ) ;
91 
96  static AIDA::ITree* tree( const Processor* proc ) ;
97 
102  static AIDA::IDataPointSetFactory* dataPointSetFactory( const Processor* proc ) ;
103 
108  static AIDA::IAnalysisFactory* GetIAnalysisFactory( const Processor* proc );
109 
110 
111 protected:
112 
113  AIDA::IAnalysisFactory* _analysisFactory ;
114  AIDA::ITreeFactory* _treeFactory ;
115  AIDA::ITree* _tree ;
116  AIDA::IHistogramFactory* _histoFactory ;
117  AIDA::ITupleFactory* _tupleFactory ;
118  AIDA::IDataPointSetFactory* _dataPointSetFactory ;
119 
120  std::string _fileType ;
121  std::string _fileName ;
122  int _compress ;
123 
124 private:
125 
126  static AIDAProcessor* _me ;
127 } ;
128 
129 } // end namespace marlin
130 
131 #endif // MARLIN_AIDA
132 #endif // AIDAProcessor_h
133 
Provides access to AIDA histograms, ntuples, etc.
Definition: AIDAProcessor.h:46
Base class for Marlin processors.
Definition: Processor.h:64