Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

AIDA_HistogramFactoryProvider.cpp

Go to the documentation of this file.
00001 #include "AIDA_HistogramFactoryProvider.h"
00002 #include "AIDA_DevHistogramFactory.h"
00003 #include "AIDA_HistogramFactory.h"
00004 #include "AIDA_Dev/IDevAnalysisFactory.h"
00005 
00006 static Anaphe::AIDA_Histogram_native::AIDA_HistogramFactoryProvider factory;
00007 
00008 namespace Anaphe {
00009   namespace AIDA_Histogram_native {
00010     class Initializer {
00011     public:
00012       Initializer() {
00013         AIDA::Dev::IDevAnalysisFactory* af = dynamic_cast<AIDA::Dev::IDevAnalysisFactory*>( AIDA_createAnalysisFactory() );
00014         if ( af ) {
00015           af->registerHistogramFactoryProvider( static_cast<AIDA::Dev::IHistogramFactoryProvider*>( &factory ) );
00016           delete af;
00017         }
00018       }
00019       ~Initializer() {}
00020     };
00021   }
00022 }
00023 
00024 static Anaphe::AIDA_Histogram_native::Initializer myInitializer;
00025 
00026 
00027 
00028 Anaphe::AIDA_Histogram_native::AIDA_HistogramFactoryProvider::AIDA_HistogramFactoryProvider():
00029   m_factory( 0 )
00030 {
00031   m_factory = new Anaphe::AIDA_Histogram_native::AIDA_DevHistogramFactory;
00032 }
00033 
00034 
00035 Anaphe::AIDA_Histogram_native::AIDA_HistogramFactoryProvider::~AIDA_HistogramFactoryProvider()
00036 {
00037   if ( m_factory ) delete m_factory;
00038 }
00039 
00040 
00041 AIDA::IHistogramFactory*
00042 Anaphe::AIDA_Histogram_native::AIDA_HistogramFactoryProvider::createFactory( AIDA::Dev::IDevTree & tree )
00043 {
00044   return new AIDA_HistogramFactory( tree, *m_factory );
00045 }
00046 
00047 
00048 AIDA::Dev::IDevHistogramFactory&
00049 Anaphe::AIDA_Histogram_native::AIDA_HistogramFactoryProvider::devHistogramFactory()
00050 {
00051   return *m_factory;
00052 }

Generated on Tue Nov 19 12:32:17 2002 for AIDA_Histogram_native by doxygen1.2.16