1#line 1 "/cycamore/src/deploy_inst.cc"
8 : cyclus::Institution(ctx) {}
13 cyclus::Institution::Build(parent);
14 BuildSched::iterator it;
15 std::set<std::string> protos;
23 cyclus::Agent* a = context()->CreateAgent<Agent>(proto);
28 ss <<
"_life_forever";
33 if (protos.count(proto) == 0) {
35 context()->AddPrototype(proto, a);
41 for (
int j = 0; j <
n_build[i]; j++) {
42 context()->SchedBuild(
this, proto, t);
48 cyclus::Institution::EnterNotify();
52 ss <<
"prototype '" << prototype() <<
"' has " <<
build_times.size()
53 <<
" build_times vals, expected " << n;
54 throw cyclus::ValueError(ss.str());
55 }
else if (
n_build.size() != n) {
57 ss <<
"prototype '" << prototype() <<
"' has " <<
n_build.size()
58 <<
" n_build vals, expected " << n;
59 throw cyclus::ValueError(ss.str());
62 ss <<
"prototype '" << prototype() <<
"' has " <<
lifetimes.size()
63 <<
" lifetimes vals, expected " << n;
64 throw cyclus::ValueError(ss.str());
79 using cyclus::toolkit::CommodityProducer;
80 using cyclus::toolkit::CommodityProducerManager;
82 CommodityProducer* cp_cast =
dynamic_cast<CommodityProducer*
>(a);
83 if (cp_cast != NULL) {
84 LOG(cyclus::LEV_INFO3,
"mani") <<
"Registering agent "
85 << a->prototype() << a->id()
86 <<
" as a commodity producer.";
87 CommodityProducerManager::Register(cp_cast);
92 using cyclus::toolkit::CommodityProducer;
93 using cyclus::toolkit::CommodityProducerManager;
95 CommodityProducer* cp_cast =
dynamic_cast<CommodityProducer*
>(a);
97 CommodityProducerManager::Unregister(cp_cast);
102 cyclus::toolkit::CommodityProducer* producer) {
104 set<cyclus::toolkit::Commodity,
105 cyclus::toolkit::CommodityCompare> commodities =
106 producer->ProducedCommodities();
107 set<cyclus::toolkit::Commodity, cyclus::toolkit::CommodityCompare>::
110 LOG(cyclus::LEV_DEBUG3,
"maninst") <<
" Clone produces " << commodities.size()
112 for (it = commodities.begin(); it != commodities.end(); it++) {
113 LOG(cyclus::LEV_DEBUG3,
"maninst") <<
" Commodity produced: " << it->name();
114 LOG(cyclus::LEV_DEBUG3,
"maninst") <<
" capacity: " <<
115 producer->Capacity(*it);
116 LOG(cyclus::LEV_DEBUG3,
"maninst") <<
" cost: " <<
void WriteProducerInformation(cyclus::toolkit::CommodityProducer *producer)
write information about a commodity producer to a stream
std::vector< int > n_build
void Unregister_(cyclus::Agent *agent)
unregister a child
virtual void EnterNotify()
DeployInst(cyclus::Context *ctx)
virtual void DecomNotify(Agent *m)
void Register_(cyclus::Agent *agent)
register a child
virtual void Build(cyclus::Agent *parent)
std::vector< int > build_times
std::vector< std::string > prototypes
std::vector< int > lifetimes
virtual void BuildNotify(Agent *m)
cyclus::Agent * ConstructDeployInst(cyclus::Context *ctx)