Lines Matching defs:node_

58     bool OpticalGraph::performPowerOpt(OpticalNode* node_, const WavelengthGroup& wavelengths_, unsigned int number_detectors_, double util_)
74 OpticalWavelength* wavelength = traceWavelength(wavelengths_, node_);
143 OpticalWavelength* OpticalGraph::traceWavelength(const WavelengthGroup& wavelengths_, OpticalNode* node_)
147 return traceWavelength(wavelength, node_, NULL, NULL, 0.0);
150 OpticalWavelength* OpticalGraph::traceWavelength(OpticalWavelength* wavelength_, OpticalNode* node_, OpticalLaser* laser_, OpticalModulator* modulator_, double loss_)
153 if (node_->getVisitedNum() != getTreeNum())
156 node_->setVisitedNum(getTreeNum());
159 double current_loss = loss_ + node_->getLoss();
161 if(node_->getType() == OpticalNode::LASER)
166 laser_ = (OpticalLaser*) node_;
168 else if (node_->getType() == OpticalNode::MODULATOR)
173 "modulator (" + node_->getInstanceName() + ") prior to being lit up by a laser!");
175 " the same optical data path (" + node_->getInstanceName() + ")!");
176 modulator_ = (OpticalModulator*) node_;
178 else if (node_->getType() == OpticalNode::DETECTOR)
183 "detector (" + node_->getInstanceName() + ") prior to being lit up by a laser!");
185 "detector (" + node_->getInstanceName() + ") prior to being driven by a modulator!");
187 wavelength_->addDataPath(laser_, modulator_, (OpticalDetector*) node_, current_loss);
191 vector<OpticalNode*>* d_nodes = node_->getDownstreamNodes();
192 bool trace_downstream = (node_->getType() != OpticalNode::DETECTOR);
194 if (node_->getType() == OpticalNode::FILTER)
196 OpticalFilter* filter_node = (OpticalFilter*) node_;