// ESAF : Euso Simulation and Analysis Framework // $Id: LightFactory.hh,v 1.1 2005/04/09 17:25:55 thea Exp $ // M. Pallavicini created Mar, 13 2002 // Factory for main simulation path objects // #ifndef __LIGHTFACTORY_HH_ #define __LIGHTFACTORY_HH_ #include #include "euso.hh" #include "EsafConfigurable.hh" class LightToEuso; class EventGenerator; class RadiativeTransfer; class LightSource; class LightFactory: EsafConfigurable { public: // ctor virtual ~ LightFactory(); // instance static LightFactory *Get(); // get LightToEuso object LightToEuso *GetLightToEuso(); // get generator EventGenerator *GetGenerator( const string& name ); // get RadiativeTransfer object RadiativeTransfer *GetRadiative( const string& name ); // get lightsource LightSource *GetLightSource( const string& name ); EsafConfigClass(RadiativeTransfer,LightFactory) private: // ctor LightFactory(); // unique instance static LightFactory *fMe; ClassDef(LightFactory,0) }; #endif /* __LIGHTFACTORY_HH_ */