{"action":"created","comment":{"url":"https://api.github.com/repos/cyclus/cycamore/pulls/comments/28096972","id":28096972,"diff_hunk":"@@ -0,0 +1,130 @@\n+#ifndef CYCAMORE_SRC_SEPARATIONS_H_\n+#define CYCAMORE_SRC_SEPARATIONS_H_\n+\n+#include \"cyclus.h\"\n+\n+namespace cycamore {\n+\n+cyclus::Material::Ptr SepMaterial(std::map<int, double> effs, cyclus::Material::Ptr mat);\n+\n+class Separations : public cyclus::Facility {\n+ public:\n+  Separations(cyclus::Context* ctx);\n+  virtual ~Separations(){};\n+\n+  virtual void Tick();\n+  virtual void Tock();\n+  virtual void EnterNotify();\n+\n+  virtual void AcceptMatlTrades(const std::vector<std::pair<\n+      cyclus::Trade<cyclus::Material>, cyclus::Material::Ptr> >& responses);\n+\n+  virtual std::set<cyclus::RequestPortfolio<cyclus::Material>::Ptr>\n+  GetMatlRequests();\n+\n+  virtual std::set<cyclus::BidPortfolio<cyclus::Material>::Ptr> GetMatlBids(\n+      cyclus::CommodMap<cyclus::Material>::type& commod_requests);\n+\n+  virtual void GetMatlTrades(\n+      const std::vector<cyclus::Trade<cyclus::Material> >& trades,\n+      std::vector<std::pair<cyclus::Trade<cyclus::Material>,\n+                            cyclus::Material::Ptr> >& responses);\n+\n+  #pragma cyclus clone\n+  #pragma cyclus initfromcopy\n+  #pragma cyclus infiletodb\n+  #pragma cyclus initfromdb\n+  #pragma cyclus schema\n+  #pragma cyclus annotations\n+  #pragma cyclus snapshot\n+  // the following pragmas are ommitted and the functions are generated\n+  // manually in order to handle the vector of resource buffers:\n+  //\n+  //     #pragma cyclus snapshotinv\n+  //     #pragma cyclus initinv\n+\n+  virtual cyclus::Inventories SnapshotInv();\n+  virtual void InitInv(cyclus::Inventories& inv);\n+\n+ private:\n+  #pragma cyclus var { \\\n+    \"doc\" : \"Maximum quantity of feed material that can be processed per time step.\", \\\n+    \"units\": \"kg\", \\\n+  }\n+  double throughput;\n+\n+  #pragma cyclus var { \\\n+    \"doc\": \"Ordered list of commodities on which to request feed material to separate.\", \\\n+    \"uitype\": [\"oneormore\", \"incommodity\"], \\\n+  }\n+  std::vector<std::string> feed_commods;\n+\n+  #pragma cyclus var { \\\n+    \"default\": [], \\\n+    \"doc\": \"Feed commodity request preferences for each of the given feed commodities (same order).\" \\\n+           \" If unspecified, default is to use zero for all preferences.\", \\\n+  }\n+  std::vector<double> feed_commod_prefs;\n+\n+  #pragma cyclus var { \\\n+    \"doc\": \"Name for recipe to be used in feed requests.\" \\\n+           \" Empty string results in use of an empty dummy recipe.\", \\\n+    \"uitype\": \"recipe\", \\\n+    \"default\": \"\", \\\n+  }\n+  std::string feed_recipe;","path":"src/separations.h","position":76,"original_position":75,"commit_id":"d4c925f7a4212ad56b97d1104bc955ef6548b252","original_commit_id":"9be4c0d6762a1a32cc7f6fde9fba3e8e564677b0","user":{"login":"gidden","id":1392657,"avatar_url":"https://avatars.githubusercontent.com/u/1392657?v=3","gravatar_id":"","url":"https://api.github.com/users/gidden","html_url":"https://github.com/gidden","followers_url":"https://api.github.com/users/gidden/followers","following_url":"https://api.github.com/users/gidden/following{/other_user}","gists_url":"https://api.github.com/users/gidden/gists{/gist_id}","starred_url":"https://api.github.com/users/gidden/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gidden/subscriptions","organizations_url":"https://api.github.com/users/gidden/orgs","repos_url":"https://api.github.com/users/gidden/repos","events_url":"https://api.github.com/users/gidden/events{/privacy}","received_events_url":"https://api.github.com/users/gidden/received_events","type":"User","site_admin":false},"body":"Ok, I understand that it must either be an optional one or many. My only issue here is future compatability.  Since we already have an experimental tag, let's leave as is.","created_at":"2015-04-09T20:00:15Z","updated_at":"2015-04-09T20:00:15Z","html_url":"https://github.com/cyclus/cycamore/pull/309#discussion_r28096972","pull_request_url":"https://api.github.com/repos/cyclus/cycamore/pulls/309","_links":{"self":{"href":"https://api.github.com/repos/cyclus/cycamore/pulls/comments/28096972"},"html":{"href":"https://github.com/cyclus/cycamore/pull/309#discussion_r28096972"},"pull_request":{"href":"https://api.github.com/repos/cyclus/cycamore/pulls/309"}}},"pull_request":{"url":"https://api.github.com/repos/cyclus/cycamore/pulls/309","id":32865887,"html_url":"https://github.com/cyclus/cycamore/pull/309","diff_url":"https://github.com/cyclus/cycamore/pull/309.diff","patch_url":"https://github.com/cyclus/cycamore/pull/309.patch","issue_url":"https://api.github.com/repos/cyclus/cycamore/issues/309","number":309,"state":"open","locked":false,"title":"new separations facility","user":{"login":"rwcarlsen","id":1351242,"avatar_url":"https://avatars.githubusercontent.com/u/1351242?v=3","gravatar_id":"","url":"https://api.github.com/users/rwcarlsen","html_url":"https://github.com/rwcarlsen","followers_url":"https://api.github.com/users/rwcarlsen/followers","following_url":"https://api.github.com/users/rwcarlsen/following{/other_user}","gists_url":"https://api.github.com/users/rwcarlsen/gists{/gist_id}","starred_url":"https://api.github.com/users/rwcarlsen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rwcarlsen/subscriptions","organizations_url":"https://api.github.com/users/rwcarlsen/orgs","repos_url":"https://api.github.com/users/rwcarlsen/repos","events_url":"https://api.github.com/users/rwcarlsen/events{/privacy}","received_events_url":"https://api.github.com/users/rwcarlsen/received_events","type":"User","site_admin":false},"body":"It still needs a bit more doc/annotations and tests.","created_at":"2015-04-08T14:33:28Z","updated_at":"2015-04-09T20:00:15Z","closed_at":null,"merged_at":null,"merge_commit_sha":"06907cecf0583900467b97ed88d2a4b95fec3d02","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/cyclus/cycamore/pulls/309/commits","review_comments_url":"https://api.github.com/repos/cyclus/cycamore/pulls/309/comments","review_comment_url":"https://api.github.com/repos/cyclus/cycamore/pulls/comments{/number}","comments_url":"https://api.github.com/repos/cyclus/cycamore/issues/309/comments","statuses_url":"https://api.github.com/repos/cyclus/cycamore/statuses/d4c925f7a4212ad56b97d1104bc955ef6548b252","head":{"label":"rwcarlsen:sepfac","ref":"sepfac","sha":"d4c925f7a4212ad56b97d1104bc955ef6548b252","user":{"login":"rwcarlsen","id":1351242,"avatar_url":"https://avatars.githubusercontent.com/u/1351242?v=3","gravatar_id":"","url":"https://api.github.com/users/rwcarlsen","html_url":"https://github.com/rwcarlsen","followers_url":"https://api.github.com/users/rwcarlsen/followers","following_url":"https://api.github.com/users/rwcarlsen/following{/other_user}","gists_url":"https://api.github.com/users/rwcarlsen/gists{/gist_id}","starred_url":"https://api.github.com/users/rwcarlsen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rwcarlsen/subscriptions","organizations_url":"https://api.github.com/users/rwcarlsen/orgs","repos_url":"https://api.github.com/users/rwcarlsen/repos","events_url":"https://api.github.com/users/rwcarlsen/events{/privacy}","received_events_url":"https://api.github.com/users/rwcarlsen/received_events","type":"User","site_admin":false},"repo":{"id":5074022,"name":"cycamore","full_name":"rwcarlsen/cycamore","owner":{"login":"rwcarlsen","id":1351242,"avatar_url":"https://avatars.githubusercontent.com/u/1351242?v=3","gravatar_id":"","url":"https://api.github.com/users/rwcarlsen","html_url":"https://github.com/rwcarlsen","followers_url":"https://api.github.com/users/rwcarlsen/followers","following_url":"https://api.github.com/users/rwcarlsen/following{/other_user}","gists_url":"https://api.github.com/users/rwcarlsen/gists{/gist_id}","starred_url":"https://api.github.com/users/rwcarlsen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rwcarlsen/subscriptions","organizations_url":"https://api.github.com/users/rwcarlsen/orgs","repos_url":"https://api.github.com/users/rwcarlsen/repos","events_url":"https://api.github.com/users/rwcarlsen/events{/privacy}","received_events_url":"https://api.github.com/users/rwcarlsen/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/rwcarlsen/cycamore","description":"The CYClus Additional Modules REpository","fork":true,"url":"https://api.github.com/repos/rwcarlsen/cycamore","forks_url":"https://api.github.com/repos/rwcarlsen/cycamore/forks","keys_url":"https://api.github.com/repos/rwcarlsen/cycamore/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rwcarlsen/cycamore/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rwcarlsen/cycamore/teams","hooks_url":"https://api.github.com/repos/rwcarlsen/cycamore/hooks","issue_events_url":"https://api.github.com/repos/rwcarlsen/cycamore/issues/events{/number}","events_url":"https://api.github.com/repos/rwcarlsen/cycamore/events","assignees_url":"https://api.github.com/repos/rwcarlsen/cycamore/assignees{/user}","branches_url":"https://api.github.com/repos/rwcarlsen/cycamore/branches{/branch}","tags_url":"https://api.github.com/repos/rwcarlsen/cycamore/tags","blobs_url":"https://api.github.com/repos/rwcarlsen/cycamore/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rwcarlsen/cycamore/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rwcarlsen/cycamore/git/refs{/sha}","trees_url":"https://api.github.com/repos/rwcarlsen/cycamore/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rwcarlsen/cycamore/statuses/{sha}","languages_url":"https://api.github.com/repos/rwcarlsen/cycamore/languages","stargazers_url":"https://api.github.com/repos/rwcarlsen/cycamore/stargazers","contributors_url":"https://api.github.com/repos/rwcarlsen/cycamore/contributors","subscribers_url":"https://api.github.com/repos/rwcarlsen/cycamore/subscribers","subscription_url":"https://api.github.com/repos/rwcarlsen/cycamore/subscription","commits_url":"https://api.github.com/repos/rwcarlsen/cycamore/commits{/sha}","git_commits_url":"https://api.github.com/repos/rwcarlsen/cycamore/git/commits{/sha}","comments_url":"https://api.github.com/repos/rwcarlsen/cycamore/comments{/number}","issue_comment_url":"https://api.github.com/repos/rwcarlsen/cycamore/issues/comments{/number}","contents_url":"https://api.github.com/repos/rwcarlsen/cycamore/contents/{+path}","compare_url":"https://api.github.com/repos/rwcarlsen/cycamore/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rwcarlsen/cycamore/merges","archive_url":"https://api.github.com/repos/rwcarlsen/cycamore/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rwcarlsen/cycamore/downloads","issues_url":"https://api.github.com/repos/rwcarlsen/cycamore/issues{/number}","pulls_url":"https://api.github.com/repos/rwcarlsen/cycamore/pulls{/number}","milestones_url":"https://api.github.com/repos/rwcarlsen/cycamore/milestones{/number}","notifications_url":"https://api.github.com/repos/rwcarlsen/cycamore/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rwcarlsen/cycamore/labels{/name}","releases_url":"https://api.github.com/repos/rwcarlsen/cycamore/releases{/id}","created_at":"2012-07-16T21:53:14Z","updated_at":"2015-04-08T18:58:48Z","pushed_at":"2015-04-09T19:44:59Z","git_url":"git://github.com/rwcarlsen/cycamore.git","ssh_url":"git@github.com:rwcarlsen/cycamore.git","clone_url":"https://github.com/rwcarlsen/cycamore.git","svn_url":"https://github.com/rwcarlsen/cycamore","homepage":"","size":5358,"stargazers_count":1,"watchers_count":1,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":1,"default_branch":"develop"}},"base":{"label":"cyclus:develop","ref":"develop","sha":"f4e2ccdd892adf4c473dcf660efed8934e5a3aff","user":{"login":"cyclus","id":1355686,"avatar_url":"https://avatars.githubusercontent.com/u/1355686?v=3","gravatar_id":"","url":"https://api.github.com/users/cyclus","html_url":"https://github.com/cyclus","followers_url":"https://api.github.com/users/cyclus/followers","following_url":"https://api.github.com/users/cyclus/following{/other_user}","gists_url":"https://api.github.com/users/cyclus/gists{/gist_id}","starred_url":"https://api.github.com/users/cyclus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cyclus/subscriptions","organizations_url":"https://api.github.com/users/cyclus/orgs","repos_url":"https://api.github.com/users/cyclus/repos","events_url":"https://api.github.com/users/cyclus/events{/privacy}","received_events_url":"https://api.github.com/users/cyclus/received_events","type":"Organization","site_admin":false},"repo":{"id":4973784,"name":"cycamore","full_name":"cyclus/cycamore","owner":{"login":"cyclus","id":1355686,"avatar_url":"https://avatars.githubusercontent.com/u/1355686?v=3","gravatar_id":"","url":"https://api.github.com/users/cyclus","html_url":"https://github.com/cyclus","followers_url":"https://api.github.com/users/cyclus/followers","following_url":"https://api.github.com/users/cyclus/following{/other_user}","gists_url":"https://api.github.com/users/cyclus/gists{/gist_id}","starred_url":"https://api.github.com/users/cyclus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cyclus/subscriptions","organizations_url":"https://api.github.com/users/cyclus/orgs","repos_url":"https://api.github.com/users/cyclus/repos","events_url":"https://api.github.com/users/cyclus/events{/privacy}","received_events_url":"https://api.github.com/users/cyclus/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/cyclus/cycamore","description":"The CYClus Additional Module REpository","fork":false,"url":"https://api.github.com/repos/cyclus/cycamore","forks_url":"https://api.github.com/repos/cyclus/cycamore/forks","keys_url":"https://api.github.com/repos/cyclus/cycamore/keys{/key_id}","collaborators_url":"https://api.github.com/repos/cyclus/cycamore/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/cyclus/cycamore/teams","hooks_url":"https://api.github.com/repos/cyclus/cycamore/hooks","issue_events_url":"https://api.github.com/repos/cyclus/cycamore/issues/events{/number}","events_url":"https://api.github.com/repos/cyclus/cycamore/events","assignees_url":"https://api.github.com/repos/cyclus/cycamore/assignees{/user}","branches_url":"https://api.github.com/repos/cyclus/cycamore/branches{/branch}","tags_url":"https://api.github.com/repos/cyclus/cycamore/tags","blobs_url":"https://api.github.com/repos/cyclus/cycamore/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/cyclus/cycamore/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/cyclus/cycamore/git/refs{/sha}","trees_url":"https://api.github.com/repos/cyclus/cycamore/git/trees{/sha}","statuses_url":"https://api.github.com/repos/cyclus/cycamore/statuses/{sha}","languages_url":"https://api.github.com/repos/cyclus/cycamore/languages","stargazers_url":"https://api.github.com/repos/cyclus/cycamore/stargazers","contributors_url":"https://api.github.com/repos/cyclus/cycamore/contributors","subscribers_url":"https://api.github.com/repos/cyclus/cycamore/subscribers","subscription_url":"https://api.github.com/repos/cyclus/cycamore/subscription","commits_url":"https://api.github.com/repos/cyclus/cycamore/commits{/sha}","git_commits_url":"https://api.github.com/repos/cyclus/cycamore/git/commits{/sha}","comments_url":"https://api.github.com/repos/cyclus/cycamore/comments{/number}","issue_comment_url":"https://api.github.com/repos/cyclus/cycamore/issues/comments{/number}","contents_url":"https://api.github.com/repos/cyclus/cycamore/contents/{+path}","compare_url":"https://api.github.com/repos/cyclus/cycamore/compare/{base}...{head}","merges_url":"https://api.github.com/repos/cyclus/cycamore/merges","archive_url":"https://api.github.com/repos/cyclus/cycamore/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/cyclus/cycamore/downloads","issues_url":"https://api.github.com/repos/cyclus/cycamore/issues{/number}","pulls_url":"https://api.github.com/repos/cyclus/cycamore/pulls{/number}","milestones_url":"https://api.github.com/repos/cyclus/cycamore/milestones{/number}","notifications_url":"https://api.github.com/repos/cyclus/cycamore/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/cyclus/cycamore/labels{/name}","releases_url":"https://api.github.com/repos/cyclus/cycamore/releases{/id}","created_at":"2012-07-10T12:41:38Z","updated_at":"2015-04-08T18:50:52Z","pushed_at":"2015-04-09T19:45:00Z","git_url":"git://github.com/cyclus/cycamore.git","ssh_url":"git@github.com:cyclus/cycamore.git","clone_url":"https://github.com/cyclus/cycamore.git","svn_url":"https://github.com/cyclus/cycamore","homepage":"","size":8076,"stargazers_count":8,"watchers_count":8,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":18,"mirror_url":null,"open_issues_count":27,"forks":18,"open_issues":27,"watchers":8,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/cyclus/cycamore/pulls/309"},"html":{"href":"https://github.com/cyclus/cycamore/pull/309"},"issue":{"href":"https://api.github.com/repos/cyclus/cycamore/issues/309"},"comments":{"href":"https://api.github.com/repos/cyclus/cycamore/issues/309/comments"},"review_comments":{"href":"https://api.github.com/repos/cyclus/cycamore/pulls/309/comments"},"review_comment":{"href":"https://api.github.com/repos/cyclus/cycamore/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/cyclus/cycamore/pulls/309/commits"},"statuses":{"href":"https://api.github.com/repos/cyclus/cycamore/statuses/d4c925f7a4212ad56b97d1104bc955ef6548b252"}}}}