/** \author Javier Gonzalez \date 28 Jan 2008 */ #ifndef _tls_TankResponseFactory_h_ #define _tls_TankResponseFactory_h_ #include #include #include namespace tls { /** \class TankResponseFactory \brief Singleton class to create VTankResponse objects The factory will decide what actuall implementation to use based on the name of the branch passed as argument to GetInstance. No automatic registration is provided. The currently available models are:
  • \ref SimpleTankResponseNS::TankResponse "SimpleTankResponse"
  • \ref TabularTankResponseNS::TankResponse "TabularTankResponse"
  • \ref USCInterTankResponseNS::TankResponse "USCInterTankResponse"
  • \ref AachenTankResponseNS::TankResponse "AachenTankResponse"
\author Javier Gonzalez \date 28 Jan 2008 \ingroup has_tools */ class TankResponseFactory : public utl::Singleton{ public: /// _The_ method VTankResponse& GetTankResponse(const utl::Branch branch); private: TankResponseFactory(): utl::Singleton() {} ~TankResponseFactory(){} TankResponseFactory(const TankResponseFactory& /*detector*/): utl::Singleton() {} TankResponseFactory& operator=(const TankResponseFactory& /*detector*/) { return *this; } friend class utl::Singleton; }; } // tls #endif // _tls_TankResponseFactory_h_ // Configure (x)emacs for this file ... // Local Variables: // mode:c++ // compile-command: "make -C .. -k" // End: