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