SWSRLink.h revision 10447
1#ifndef __DSENT_MODEL_OPTICAL_SWSRLINK_H__ 2#define __DSENT_MODEL_OPTICAL_SWSRLINK_H__ 3 4#include "util/CommonType.h" 5#include "model/OpticalModel.h" 6 7namespace DSENT 8{ 9 class SWSRLink : public OpticalModel 10 { 11 // A SWSR Link consists of a laser, a modulator (the writer) and a variable 12 // number of readers 13 public: 14 SWSRLink(const String& instance_name_, const TechModel* tech_model_); 15 virtual ~SWSRLink(); 16 17 public: 18 // Set a list of properties' name needed to construct model 19 void initParameters(); 20 // Set a list of properties' name needed to construct model 21 void initProperties(); 22 23 protected: 24 // Build the model 25 virtual void constructModel(); 26 virtual void updateModel(); 27 virtual void propagateTransitionInfo(); 28 29 private: 30 void buildLaser(); 31 void buildModulator(); 32 void buildDetector(); 33 34 }; // class SWSRLink 35} // namespace DSENT 36 37#endif // __DSENT_MODEL_OPTICAL_SWSRLINK_H__ 38 39