CYCAMORE
Loading...
Searching...
No Matches
src/manager_inst.h
Go to the documentation of this file.
1#ifndef CYCAMORE_SRC_MANAGER_INST_H_
2#define CYCAMORE_SRC_MANAGER_INST_H_
3
4#include "cyclus.h"
5#include "cycamore_version.h"
6
7namespace cycamore {
8
13class ManagerInst
14 : public cyclus::Institution,
15 public cyclus::toolkit::CommodityProducerManager,
16 public cyclus::toolkit::Builder,
17 public cyclus::toolkit::Position {
18 public:
20 ManagerInst(cyclus::Context* ctx);
21
23 virtual ~ManagerInst();
24
25 virtual std::string version() { return CYCAMORE_VERSION; }
26
27 #pragma cyclus
28
29 #pragma cyclus note {"doc": "An institution that owns and operates a " \
30 "manually entered list of facilities in " \
31 "the input file"}
32
34 virtual void EnterNotify();
35
37 virtual void BuildNotify(Agent* m);
38
40 virtual void DecomNotify(Agent* m);
41
44 void WriteProducerInformation(cyclus::toolkit::CommodityProducer*
45 producer);
46
47 private:
49 void Register_(cyclus::Agent* agent);
50
52 void Unregister_(cyclus::Agent* agent);
53
54 #pragma cyclus var { \
55 "tooltip": "producer facility prototypes", \
56 "uilabel": "Producer Prototype List", \
57 "uitype": ["oneormore", "prototype"], \
58 "doc": "A set of facility prototypes that this institution can build. " \
59 "All prototypes in this list must be based on an archetype that " \
60 "implements the cyclus::toolkit::CommodityProducer interface", \
61 }
62 std::vector<std::string> prototypes;
63
64 #pragma cyclus var { \
65 "default": 0.0, \
66 "uilabel": "Geographical latitude in degrees as a double", \
67 "doc": "Latitude of the agent's geographical position. The value should " \
68 "be expressed in degrees as a double." \
69 }
70 double latitude;
71
72 #pragma cyclus var { \
73 "default": 0.0, \
74 "uilabel": "Geographical longitude in degrees as a double", \
75 "doc": "Longitude of the agent's geographical position. The value should " \
76 "be expressed in degrees as a double." \
77 }
78 double longitude;
79
80 cyclus::toolkit::Position coordinates;
81
84};
85
86} // namespace cycamore
87
88#endif // CYCAMORE_SRC_MANAGER_INST_H_
#define CYCAMORE_VERSION
void Register_(cyclus::Agent *agent)
register a child
void WriteProducerInformation(cyclus::toolkit::CommodityProducer *producer)
write information about a commodity producer to a stream
virtual void DecomNotify(Agent *m)
unregister a child
cyclus::toolkit::Position coordinates
void Unregister_(cyclus::Agent *agent)
unregister a child
virtual void EnterNotify()
enter the simulation and register any children present
void RecordPosition()
Records an agent's latitude and longitude to the output db.
std::vector< std::string > prototypes
virtual ~ManagerInst()
Default destructor.
virtual std::string version()
ManagerInst(cyclus::Context *ctx)
Default constructor.
virtual void BuildNotify(Agent *m)
register a new child