OpticalDetector.cc revision 10447:a465576671d4
1
2#include "model/optical_graph/OpticalDetector.h"
3#include "model/optical_graph/OpticalReceiver.h"
4
5namespace DSENT
6{
7    OpticalDetector::OpticalDetector(const String& instance_name_, OpticalModel* model_, const WavelengthGroup& wavelengths_, OpticalReceiver* receiver_)
8        : OpticalNode(OpticalNode::DETECTOR, instance_name_, model_, wavelengths_), m_receiver_(receiver_), m_responsivity_(0)
9    {
10        m_sensitivity_ = 0.0;
11    }
12
13    OpticalDetector::~OpticalDetector()
14    {
15
16    }
17
18    void OpticalDetector::setResponsivity(double responsivity_)
19    {
20        m_responsivity_ = responsivity_;
21        return;
22    }
23
24    double OpticalDetector::getSensitivity(double ER_dB_) const
25    {
26        // Get responsivity (in Amps) of the receiver, divide by responsivity to get sensitivity in Watts
27        return m_receiver_->getSensitivity(ER_dB_) / m_responsivity_;
28    }
29
30} // namespace DSENT
31
32
33