00001 // $Id: GaudiHistosConstructors.cpp,v 1.1 2005/09/23 16:14:20 hmd Exp $ 00002 00003 // ============================================================================ 00004 /* @file GaudiHistosConstructors.cpp 00005 * 00006 * Specialised constructors for GaudiHistos 00007 * 00008 * @author Chris Jones Christopher.Rob.Jones@cern.ch 00009 * @date 2005-08-08 00010 */ 00011 // ============================================================================ 00012 00013 // ============================================================================ 00014 // GaudiAlg 00015 // ============================================================================ 00016 #include "GaudiAlg/GaudiAlgorithm.h" 00017 #include "GaudiAlg/GaudiTool.h" 00018 #include "GaudiAlg/GaudiHistos.h" 00019 00020 //============================================================================= 00021 // Null algorithm like constructor for tool 00022 // should NEVER be used... 00023 //============================================================================= 00024 template <> 00025 GaudiHistos<GaudiTool>::GaudiHistos( const std::string & /* name */, 00026 ISvcLocator * /* pSvcLocator */ ) 00027 : GaudiTool ( "ERROR", "ERROR", 0 ) 00028 { 00029 throw GaudiException( "Invalid GaudiHistos<GaudiTool> constructor", 00030 "GaudiHistos", StatusCode::FAILURE ); 00031 } 00032 //============================================================================= 00033 00034 //============================================================================= 00035 // Null tool like constructor for Algorithm 00036 // should NEVER be used... 00037 //============================================================================= 00038 template <> 00039 GaudiHistos<GaudiAlgorithm>::GaudiHistos( const std::string& /* type */ , 00040 const std::string& /* name */ , 00041 const IInterface* /* parent */ ) 00042 : GaudiAlgorithm ( "ERROR", 0 ) 00043 { 00044 throw GaudiException( "Invalid GaudiHistos<GaudiAlgorithm> constructor", 00045 "GaudiHistos", StatusCode::FAILURE ); 00046 } 00047 //============================================================================= 00048 00049 //============================================================================= 00050 // Standard algorithm constructor, initializes variables 00051 //============================================================================= 00052 template <> 00053 GaudiHistos<GaudiAlgorithm>::GaudiHistos( const std::string & name, 00054 ISvcLocator * pSvcLocator ) 00055 : GaudiAlgorithm ( name, pSvcLocator ) 00056 { 00057 initGaudiHistosConstructor(); 00058 } 00059 //============================================================================= 00060 00061 //============================================================================= 00062 // Standard tool constructor, initializes variables 00063 //============================================================================= 00064 template <> 00065 GaudiHistos<GaudiTool>::GaudiHistos( const std::string& type , 00066 const std::string& name , 00067 const IInterface* parent ) 00068 : GaudiTool ( type , name , parent ) 00069 { 00070 initGaudiHistosConstructor(); 00071 } 00072 //============================================================================= 00073 00074 // ============================================================================ 00075 // The END 00076 // ============================================================================