PhotonicClos.h revision 10447
1#ifndef __DSENT_MODEL_NETWORK_PHOTONIC_CLOS_H__ 2#define __DSENT_MODEL_NETWORK_PHOTONIC_CLOS_H__ 3 4#include "util/CommonType.h" 5#include "model/ElectricalModel.h" 6 7namespace DSENT 8{ 9 /** 10 * \brief An 3-stage clos network implemented with photonic router-to-router links 11 */ 12 class PhotonicClos : public ElectricalModel 13 { 14 public: 15 PhotonicClos(const String& instance_name_, const TechModel* tech_model_); 16 virtual ~PhotonicClos(); 17 18 public: 19 // Set a list of properties' name needed to construct model 20 void initParameters(); 21 // Set a list of properties' name needed to construct model 22 void initProperties(); 23 24 // Clone and return a new instance 25 virtual PhotonicClos* clone() const; 26 27 protected: 28 // Build the model 29 virtual void constructModel(); 30 virtual void updateModel(); 31 virtual void propagateTransitionInfo(); 32 33 }; 34} // namespace DSENT 35 36#endif // __DSENT_MODEL_NETWORK_PHOTONIC_CLOS_H__ 37 38