/** \file Factory for the creation of particle properties \author Lukas Nellen \version $Id$ \date 03 Apr 2004 */ #ifndef _utl_ParticlePropertiesFactory_h_ #define _utl_ParticlePropertiesFactory_h_ static const char CVSId_utl_ParticlePropertiesFactory[] = "$Id$"; #include #include namespace utl { /** \class UnregisteredParticlePropertyPolicy ParticlePropertiesFactory.h "utl/ParticlePropertiesFactory.h" \brief Policy for dealing with the creation of properties for unregistered particle ID's \author Lukas Nellen \date 03 Apr 2004 \ingroup particles */ class UnregisteredParticlePropertyPolicy { public: static ParticlePropertiesPtr Unregistered(int theType); }; // UnregisteredParticlePropertyPolicy /** \class ParticlePropertiesCreator ParticlePropertiesFactory.h "utl/ParticlePropertiesFactory.h" \brief Functor for the creation of particle properties by a factory \author Lukas Nellen \date 05 Apr 2004 */ class ParticlePropertiesCreator { public: ParticlePropertiesCreator(const VParticleProperties* const theProperties); ParticlePropertiesPtr operator()() const; private: ParticlePropertiesPtr fProperties; }; // ParticlePropertiesCreator /// Typedef for particle properties factory using the generic object factory typedef utl::ObjectFactory ParticlePropertiesFactory; } // utl #endif // _utl_ParticlePropertiesFactory_h_ // Configure (x)emacs for this file ... // Local Variables: // mode:c++ // compile-command: "make -C .. -k" // End: