NamedProductPluggableFactory Class Reference

#include <NamedProductPluggableFactory.h>

Inheritance diagram for NamedProductPluggableFactory:

DynamicPluggableFactory List of all members.

Public Member Functions

virtual AlgBaseLendAlg (const char *algnm)
virtual AlgConfigLendAlgConfig (const char *regnm)
void RegisterPrototypicalAlg (AlgBase *prototypicalalg)
void RegisterPrototypicalAlgConfig (AlgConfig *prototypicalalgconfig)

Protected Member Functions

 NamedProductPluggableFactory ()
virtual ~NamedProductPluggableFactory ()
AlgConfigGetAlgConfigPtr (const char *regnm)
AlgBaseGetAlgPtr (const char *algnm)

Protected Attributes

TList fPrototypicalAlgs
TList fPrototypicalAlgConfigs

Private Member Functions

 NamedProductPluggableFactory (const NamedProductPluggableFactory &)
void operator= (const NamedProductPluggableFactory &)

Detailed Description

Definition at line 24 of file NamedProductPluggableFactory.h.


Constructor & Destructor Documentation

NamedProductPluggableFactory::NamedProductPluggableFactory (  )  [protected]

Definition at line 34 of file NamedProductPluggableFactory.cxx.

References Msg::kDebug, and MSG.

00035 {
00036   MSG("DynFac", Msg::kDebug)
00037                       << "NamedProductPluggableFactory::Constructor\n";
00038 }

NamedProductPluggableFactory::~NamedProductPluggableFactory (  )  [protected, virtual]

Definition at line 41 of file NamedProductPluggableFactory.cxx.

References fPrototypicalAlgConfigs, fPrototypicalAlgs, Msg::kDebug, and MSG.

00042 {
00043   MSG("DynFac", Msg::kDebug)
00044                         << "NamedProductPluggableFactory::Destructor\n";
00045 
00046   fPrototypicalAlgConfigs.Delete();
00047   fPrototypicalAlgs.Delete();
00048 }

NamedProductPluggableFactory::NamedProductPluggableFactory ( const NamedProductPluggableFactory  )  [private]


Member Function Documentation

AlgConfig * NamedProductPluggableFactory::GetAlgConfigPtr ( const char *  regnm  )  [protected]

Definition at line 51 of file NamedProductPluggableFactory.cxx.

References fPrototypicalAlgConfigs.

Referenced by LendAlgConfig(), and DynamicPluggableFactory::LendAlgConfig().

00053 {
00054   TObject *genconf = fPrototypicalAlgConfigs.FindObject(regnm);
00055   return (genconf ? (AlgConfig *) genconf : 0);
00056 }

AlgBase * NamedProductPluggableFactory::GetAlgPtr ( const char *  algnm  )  [protected]

Definition at line 59 of file NamedProductPluggableFactory.cxx.

References fPrototypicalAlgs.

Referenced by LendAlg(), and DynamicPluggableFactory::LendAlg().

00060 {
00061   TObject *genalg = fPrototypicalAlgs.FindObject(algnm);
00062   return (genalg ? (AlgBase *) genalg : 0);
00063 }

AlgBase & NamedProductPluggableFactory::LendAlg ( const char *  algnm  )  [virtual]

Reimplemented in DynamicPluggableFactory.

Definition at line 66 of file NamedProductPluggableFactory.cxx.

References GetAlgPtr().

00067 {
00068   AlgBase *algbase = GetAlgPtr(algnm);
00069   assert(algbase);
00070   return *algbase;
00071 }

AlgConfig & NamedProductPluggableFactory::LendAlgConfig ( const char *  regnm  )  [virtual]

Reimplemented in DynamicPluggableFactory.

Definition at line 74 of file NamedProductPluggableFactory.cxx.

References GetAlgConfigPtr().

00076 {
00077   AlgConfig *algconfig = GetAlgConfigPtr(regnm);
00078   assert(algconfig);
00079   return *algconfig;
00080 }

void NamedProductPluggableFactory::operator= ( const NamedProductPluggableFactory  )  [private]

void NamedProductPluggableFactory::RegisterPrototypicalAlg ( AlgBase prototypicalalg  ) 

Definition at line 83 of file NamedProductPluggableFactory.cxx.

References fPrototypicalAlgs, Msg::kDebug, and MSG.

Referenced by DynamicPluggableFactory::GetPrototypicalAlg().

00085 {
00086   assert(prototypicalalg);
00087 
00088   MSG("DynFac", Msg::kDebug)
00089              << "NamedProductPluggableFactory::RegisterPrototypicalAlg("
00090                                  << prototypicalalg->GetName() << ")\n";
00091 
00092   fPrototypicalAlgs.Add(prototypicalalg);
00093 }

void NamedProductPluggableFactory::RegisterPrototypicalAlgConfig ( AlgConfig prototypicalalgconfig  ) 

Definition at line 96 of file NamedProductPluggableFactory.cxx.

References fPrototypicalAlgConfigs, AlgConfig::GetName(), Msg::kDebug, and MSG.

Referenced by DynamicPluggableFactory::GetPrototypicalAlgConfig().

00098 {
00099   assert(prototypicalalgconfig);
00100 
00101   MSG("DynFac", Msg::kDebug)
00102        << "NamedProductPluggableFactory::RegisterPrototypicalAlgConfig("
00103                            << prototypicalalgconfig->GetName() << ")\n";
00104 
00105   fPrototypicalAlgConfigs.Add(prototypicalalgconfig);
00106 }


Member Data Documentation

TList NamedProductPluggableFactory::fPrototypicalAlgConfigs [protected]

Definition at line 35 of file NamedProductPluggableFactory.h.

Referenced by GetAlgConfigPtr(), RegisterPrototypicalAlgConfig(), and ~NamedProductPluggableFactory().

TList NamedProductPluggableFactory::fPrototypicalAlgs [protected]

Definition at line 34 of file NamedProductPluggableFactory.h.

Referenced by GetAlgPtr(), RegisterPrototypicalAlg(), and ~NamedProductPluggableFactory().


The documentation for this class was generated from the following files:
Generated on Mon Nov 10 00:55:49 2014 for loon by  doxygen 1.4.7