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