12#ifndef DETECTIONREPORT_HPP
13#define DETECTIONREPORT_HPP
18#include <unordered_set>
20#include "post_processor_lib_export.h"
63 const std::string& aDetectee,
64 const std::string& aSensorName)
91 using KeyInputs = std::priority_queue< ChangedEvent >;
94 bool Filter(std::vector<std::string>& aLine)
override;
96 void PrintReport(std::istream& aInStream, std::ostream& aOutStream)
override;
101 void SetSubReportType(
const std::string& aTypeString);
102 std::string GetSubReportTypeStr()
const {
return GetSubReportTypeStr(mSubReportType); }
103 static std::string GetSubReportTypeStr(DetectionReportType aReportType);
106 void PrintAccessReport(std::ostream& aStream);
107 bool UpdateAccessReport(std::vector<std::string>& aDataStrVec,
double aEvtTime);
109 DetectionReportType mSubReportType;
110 std::unordered_set<std::string> mReportOptions;
111 std::map<std::string, std::unordered_set<std::string>> mDetecting;
112 std::unordered_set<std::string> mDetected;
113 DetectorDetecteeMap mDetectorDetecteeMap;
114 KeyInputs mKeyInputs;
~DetectionReport() override=default
DetectionReportType
Definition DetectionReport.hpp:30
std::map< DetectorDetecteeKey, DetectionInterval > DetectorDetecteeMap
Definition DetectionReport.hpp:90
std::priority_queue< ChangedEvent > KeyInputs
Definition DetectionReport.hpp:91
virtual bool ProcessInputConfiguration(UtInput &aInput)
Definition Report.cpp:67
bool PrintReport()
Definition Report.cpp:267
virtual void PrintReportHeader(std::ostream &aStream)
Definition Report.hpp:138
virtual bool Filter(std::vector< std::string > &aLine)
Definition Report.hpp:139
virtual bool CreateRequiredData(std::string &aOutputDir)
Definition Report.hpp:136
DetectionInterval mInterval
Definition DetectionReport.hpp:85
bool operator<(const ChangedEvent &aRhs) const
Definition DetectionReport.cpp:941
DetectorDetecteeKey mKey
Definition DetectionReport.hpp:84
ChangedEvent(const DetectorDetecteeKey &aKey, const DetectionInterval &aDetectionInterval)
Definition DetectionReport.hpp:78
Definition DetectionReport.hpp:45
bool operator<(const DetectionInterval &aRhs) const
Definition DetectionReport.cpp:929
DetectionInterval(double aStart, double aEnd)
Definition DetectionReport.hpp:47
double mDuration
Definition DetectionReport.hpp:55
DetectionInterval()=default
double mEnd
Definition DetectionReport.hpp:54
double mStart
Definition DetectionReport.hpp:53
Definition DetectionReport.hpp:61
std::string mDetectee
Definition DetectionReport.hpp:70
std::string mSensorName
Definition DetectionReport.hpp:71
std::string mDetector
Definition DetectionReport.hpp:69
DetectorDetecteeKey(const std::string &aDetector, const std::string &aDetectee, const std::string &aSensorName)
Definition DetectionReport.hpp:62
bool operator<(const DetectorDetecteeKey &aRhs) const
Definition DetectionReport.cpp:913
Definition Options.hpp:21