OpticalDetector.cc revision 10447:a465576671d4
18981Sandreas.hansson@arm.com 28981Sandreas.hansson@arm.com#include "model/optical_graph/OpticalDetector.h" 38981Sandreas.hansson@arm.com#include "model/optical_graph/OpticalReceiver.h" 48981Sandreas.hansson@arm.com 58981Sandreas.hansson@arm.comnamespace DSENT 68981Sandreas.hansson@arm.com{ 78981Sandreas.hansson@arm.com OpticalDetector::OpticalDetector(const String& instance_name_, OpticalModel* model_, const WavelengthGroup& wavelengths_, OpticalReceiver* receiver_) 88981Sandreas.hansson@arm.com : OpticalNode(OpticalNode::DETECTOR, instance_name_, model_, wavelengths_), m_receiver_(receiver_), m_responsivity_(0) 98981Sandreas.hansson@arm.com { 108981Sandreas.hansson@arm.com m_sensitivity_ = 0.0; 118981Sandreas.hansson@arm.com } 128981Sandreas.hansson@arm.com 138981Sandreas.hansson@arm.com OpticalDetector::~OpticalDetector() 148981Sandreas.hansson@arm.com { 158981Sandreas.hansson@arm.com 168981Sandreas.hansson@arm.com } 178981Sandreas.hansson@arm.com 188981Sandreas.hansson@arm.com void OpticalDetector::setResponsivity(double responsivity_) 198981Sandreas.hansson@arm.com { 208981Sandreas.hansson@arm.com m_responsivity_ = responsivity_; 218981Sandreas.hansson@arm.com return; 228981Sandreas.hansson@arm.com } 238981Sandreas.hansson@arm.com 248981Sandreas.hansson@arm.com double OpticalDetector::getSensitivity(double ER_dB_) const 258981Sandreas.hansson@arm.com { 268981Sandreas.hansson@arm.com // Get responsivity (in Amps) of the receiver, divide by responsivity to get sensitivity in Watts 278981Sandreas.hansson@arm.com return m_receiver_->getSensitivity(ER_dB_) / m_responsivity_; 288981Sandreas.hansson@arm.com } 298981Sandreas.hansson@arm.com 308981Sandreas.hansson@arm.com} // namespace DSENT 318981Sandreas.hansson@arm.com 328981Sandreas.hansson@arm.com 338981Sandreas.hansson@arm.com