Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | Related Pages

AIDAProcessor.h

00001 #ifdef MARLIN_USE_AIDA
00002 
00003 #ifndef AIDAProcessor_h
00004 #define AIDAProcessor_h 1
00005 
00006 #include "marlin/Processor.h"
00007 #include "lcio.h"
00008 
00009 namespace AIDA{
00010   class IAnalysisFactory ;
00011   class ITreeFactory ;
00012   class ITree ;
00013   class IHistogramFactory ;
00014   class ITupleFactory ;
00015   class IDataPointSetFactory ;
00016 }
00017 
00018 class HistoManager ;
00019 
00020 using namespace lcio ;
00021 
00022 namespace marlin {
00023 
00024 
00044 class AIDAProcessor : public marlin::Processor {
00045   
00046  public:
00047   
00048   virtual Processor*  newProcessor() ;
00049 
00050   
00051   AIDAProcessor() ;
00052 
00056   virtual void init() ;
00057 
00060   virtual void processRunHeader( LCRunHeader* run ) ;
00061 
00064    virtual void processEvent( LCEvent * evt ) ; 
00065 
00068    virtual void check( LCEvent * evt ) ; 
00069 
00070 
00073   virtual void end() ;
00074 
00075 
00080   static AIDA::IHistogramFactory* histogramFactory( const Processor* proc ) ;
00081   
00086   static AIDA::ITupleFactory* tupleFactory( const Processor* proc ) ;
00087   
00092   static AIDA::ITree* tree( const Processor* proc ) ;
00093   
00098   static AIDA::IDataPointSetFactory* dataPointSetFactory( const Processor* proc ) ;
00099 
00104   static AIDA::IAnalysisFactory* GetIAnalysisFactory( const Processor* proc );
00105   
00106 
00107 protected:
00108 
00109   AIDA::IAnalysisFactory* _analysisFactory ; 
00110   AIDA::ITreeFactory* _treeFactory ; 
00111   AIDA::ITree*  _tree ;
00112   AIDA::IHistogramFactory* _histoFactory ; 
00113   AIDA::ITupleFactory* _tupleFactory ; 
00114   AIDA::IDataPointSetFactory* _dataPointSetFactory ; 
00115 
00116   std::string _fileType ;
00117   std::string _fileName ;
00118   int _compress ;
00119     
00120 private:
00121   
00122   static AIDAProcessor* _me ;
00123 } ;
00124 
00125 } // end namespace marlin 
00126 #endif
00127 
00128 #endif
00129 
00130 
00131 

Generated on Mon Jan 12 09:48:50 2009 for Marlin by doxygen 1.3.5