12#ifndef WSFMARCUMSWERLING_HPP
13#define WSFMARCUMSWERLING_HPP
15#include "wsf_export.h"
47 double aDetectionThreshold = UtMath::DB_ToLinear(3.0))
override;
52 void SetDetectorLaw(DetectorLaw aDetectorLaw);
55 void SetNumberOfPulsesIntegrated(
int aNumberOfPulsesIntegrated);
58 void SetProbabilityOfFalseAlarm(
double aProbabilityOfFalseAlarm);
61 static SensorDetector* ObjectFactory(
const std::string& aTypeName);
64 void ComputeConstants();
68 int mNumberOfPulsesIntegrated;
69 double mProbabilityOfFalseAlarm;
70 DetectorLaw mDetectorLaw;
73 bool mComputeConstants;
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
Definition WsfSensorMode.hpp:36
Computation of probability of detection using the Marcum-Swerling algorithm.
Definition WsfMarcumSwerling.hpp:29
int GetNumberOfPulsesIntegrated() const
Definition WsfMarcumSwerling.hpp:56
MarcumSwerling * Clone() const override
Definition WsfMarcumSwerling.cpp:39
DetectorLaw
Definition WsfMarcumSwerling.hpp:32
@ cDL_LINEAR
Definition WsfMarcumSwerling.hpp:33
@ cDL_LOG
Definition WsfMarcumSwerling.hpp:35
@ cDL_SQUARE
Definition WsfMarcumSwerling.hpp:34
int GetCase() const
Definition WsfMarcumSwerling.hpp:50
bool ProcessInput(UtInput &aInput) override
Definition WsfMarcumSwerling.cpp:132
~MarcumSwerling() override=default
bool Initialize(double aSimTime, WsfSensorMode *aModePtr, size_t aBeamIndex=0) override
Definition WsfMarcumSwerling.cpp:44
double GetProbabilityOfFalseAlarm() const
Definition WsfMarcumSwerling.hpp:59
DetectorLaw GetDetectorLaw() const
Definition WsfMarcumSwerling.hpp:53
MarcumSwerling()
Definition WsfMarcumSwerling.cpp:27
double ComputeProbabilityOfDetection(double aSignalToNoise, double aDetectionThreshold=UtMath::DB_ToLinear(3.0)) override
Definition WsfMarcumSwerling.cpp:187
void SetCase(int aCase)
Definition WsfMarcumSwerling.cpp:216
Definition WsfSensorDetector.hpp:36
SensorDetector()
Definition WsfSensorDetector.cpp:24
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32