Deleted Added
sdiff udiff text old ( 10447:a465576671d4 ) new ( 10448:bc1a3b7ab5ef )
full compact
1#ifndef __DSENT_MODEL_OPTICAL_OPTICALLINKBACKENDTX_H__
2#define __DSENT_MODEL_OPTICAL_OPTICALLINKBACKENDTX_H__
3
4#include "util/CommonType.h"
5#include "model/ElectricalModel.h"
6
7namespace DSENT
8{
9 class OpticalLinkBackendTx : public ElectricalModel
10 {
11 // An optical link backend tx contains everything needed for thermal
12 // tuning of rings, bit-reshuffling (if necessary), and serialization (if necessary)
13 public:
14 OpticalLinkBackendTx(const String& instance_name_, const TechModel* tech_model_);
15 virtual ~OpticalLinkBackendTx();
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 // Calculate ring tuning power
31 double getRingTuningPower();
32 // Calculate the degree of bit re-order muxing (for the bit-reshuffler)
33 unsigned int getBitReorderDegree();
34
35 }; // class OpticalLinkBackendTx
36} // namespace DSENT
37
38#endif // __DSENT_MODEL_OPTICAL_OPTICALLINKBACKENDTX_H__
39