Skip to content
Snippets Groups Projects
Commit 6ff12aae authored by Udo Eisenbarth's avatar Udo Eisenbarth :speech_balloon:
Browse files

Improve group example.

Add beam splitter to group. Analysis is still Ok.
Graph display still wrong.
parent f6d1a9ce
No related branches found
No related tags found
No related merge requests found
......@@ -5,7 +5,7 @@ use opossum::{
analyzer::AnalyzerEnergy,
error::OpossumError,
lightdata::{DataEnergy, LightData},
nodes::{Detector, Dummy, NodeGroup, Source},
nodes::{BeamSplitter, Detector, Dummy, NodeGroup, Source},
optic_node::OpticNode,
optic_scenery::OpticScenery,
spectrum::create_he_ne_spectrum,
......@@ -21,19 +21,20 @@ fn main() -> Result<(), OpossumError> {
spectrum: create_he_ne_spectrum(1.0),
})),
);
let i_d = scenery.add_element("Detector", Detector::default());
let i_d1 = scenery.add_element("Detector1", Detector::default());
let i_d2 = scenery.add_element("Detector2", Detector::default());
let mut group = NodeGroup::new();
let i_g_d1 = group.add_node(OpticNode::new("dummy1", Dummy));
let i_g_d2 = group.add_node(OpticNode::new("dummy2", Dummy));
group.connect_nodes(i_g_d1, "rear", i_g_d2, "front")?;
group.map_input_port(i_g_d1, "front", "input")?;
group.map_output_port(i_g_d2, "rear", "output")?;
let i_g_d = group.add_node(OpticNode::new("dummy1", Dummy));
let i_g_bs = group.add_node(OpticNode::new("bs", BeamSplitter::new(0.6)));
group.connect_nodes(i_g_d, "rear", i_g_bs, "input1")?;
group.map_input_port(i_g_d, "front", "input")?;
group.map_output_port(i_g_bs, "out1_trans1_refl2", "output1")?;
group.map_output_port(i_g_bs, "out2_trans2_refl1", "output2")?;
let i_g = scenery.add_element("test group", group);
scenery.connect_nodes(i_s, "out1", i_g, "input")?;
scenery.connect_nodes(i_g, "output", i_d, "in1")?;
scenery.connect_nodes(i_g, "output1", i_d1, "in1")?;
scenery.connect_nodes(i_g, "output2", i_d2, "in1")?;
let path = "group_test.dot";
let mut output = File::create(path).unwrap();
write!(output, "{}", scenery.to_dot()).unwrap();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment