Lines Matching defs:modulator

189         // Update the modulator
190 Model* modulator = getSubInstance("Modulator");
191 modulator->setProperty("ExtinctionRatio", extinction_ratio);
192 modulator->setProperty("InsertionLoss", insertion_loss);
193 modulator->update();
218 // Set transition info for the modulator
219 OpticalModel* modulator = (OpticalModel*) getSubInstance("Modulator");
220 propagatePortTransitionInfo(modulator, "In", tx_backend, "Out");
221 modulator->use();
224 const TransitionInfo& mod_out_transitions = modulator->getOpticalOutputPort("Out")->getTransitionInfo();
293 // Create modulator
294 RingModulator* modulator = new RingModulator("Modulator", getTechModel());
295 modulator->setParameter("DataRate", link_data_rate);
296 modulator->setParameter("InStart", 0);
297 modulator->setParameter("InEnd", number_wavelengths-1);
298 modulator->setParameter("ModStart", 0);
299 modulator->setParameter("ModEnd", number_wavelengths-1);
300 modulator->setParameter("OptimizeLoss", optimize_loss);
301 modulator->construct();
302 addSubInstances(modulator, 1.0);
303 getAreaResult("Photonic")->addSubResult(modulator->getAreaResult("Photonic"), "Modulator", 1.0);
304 addElectricalSubResults(modulator, 1.0);
307 portConnect(modulator, "In", "TxBackendToTx");
308 // Connect modulator input, output port
309 opticalPortConnect(modulator, "In", "LaserToMod");
310 opticalPortConnect(modulator, "Out", "ModToDetector");
312 // Add modulator energy event for send events
313 getEventResult("Send")->addSubResult(modulator->getEventResult("Modulate"), "Modulator", 1.0);