← Documentation
ADS-IDAC Engine 5.0.0
InvestigatorLink.h
Go to the documentation of this file.
1#pragma once
2
3// InvestigatorLink.h: interface for the InvestigatorLink class.
4//
6
7#include <vector>
8#include <memory>
9
10//#include "KnowledgeUnit.h"
11#include "Investigator.h"
12#include "IDElement.h"
13#include "Activation.h"
14
16public IDElement
17{
18public:
35 bool CheckWhetherInAThoughtLine(std::string );
36 void AttachThoughtLineToThisLink(std::string);
44 void ErrorMessage(std::string);
45 void PrintMessage(std::string);
56
57 std::unique_ptr<Activation> m_dummy_activation;
59
60 std::vector<std::string> m_thoughtline_roots_list;
68 int m_path_status; //1--unknown; 2--could not be determined; 3--connect through; 4--doesn't go through;
69 int m_link_type; //1--one to one knowledge link; 2--And gate link; 3--Or gate link
70
71 IDElement * m_SI_ID_pt; //if m_SI_ID_pt is not NULL, it is forced to investigate why a symptom doesn't happen
72 KnowledgeUnit * m_K_unit_pt; // this points to the knowledge unit which links the upperstream and downstream knowledge element;
75
78
79 std::string m_ID_SI;
80 std::string m_ID_KU;
81 std::string m_ID_downstream;
82 std::string m_ID_condition;
83
85 std::vector<float> m_link_token_endtime_history;
86
87 std::vector<IDElement *> m_upperstream_ID_list;
88 std::vector<IDElement *> m_explanation_ID_list;
89 std::vector<IDElement *> m_confirmed_invest_ID_list;
90 std::vector<IDElement *> m_rejected_invest_ID_list;
91 std::vector<IDElement *> m_possible_invest_ID_list;
92
93 std::vector<std::string> m_ID_upperstream_list;
94 std::vector<std::string> m_ID_explanation_list;
95 std::vector<std::string> m_ID_confirmed_invest_list;
96 std::vector<std::string> m_ID_rejected_invest_list;
97 std::vector<std::string> m_ID_possible_invest_list;
98
99 std::vector<std::string> m_note_list;
100
102 virtual ~InvestigatorLink();
103
104};