private CylinderGeometry GetGeometry() { var radius = RadiusUpDown.Value ?? 5; var length = LengthUpDown.Value ?? 100; var resolution = ResolutionUpDown.Value ?? 5; var span = TimeUpDown.Value ?? 100; var interval = TimeIntervalUpDown.Value ?? 10; var flux = (FluxUpDown.Value ?? 1) * Math.Pow(10, 15); var count = TrialCountUpDown.Value ?? 100000; var cylinder = new CylinderReflector(0, Vector.Zero, Vector.Forward, length, radius); var bottom = new Shield(1, Vector.Forward * length, Vector.Forward, radius); var geometry = new CylinderGeometry(cylinder, bottom, null, span, interval, flux, resolution, (int)count, 100, Atom.ReflectionPattern.Specularly); return(geometry); }
public void Set(CylinderReflector cylinderReflector) { Set(cylinderReflector.Position, cylinderReflector.Direction, cylinderReflector.Radius, cylinderReflector.Length, cylinderReflector.ReflectionCoefficient); }
public ProbeRotationGeometry(CylinderReflector nozzle, Plate plate, Shield probe, Hole slit1, Hole slit2, Atom.ReflectionPattern pattern) : base(100, 1, pattern, new Structure[] { nozzle, plate, probe, slit1, slit2 }) { NozzleRotation = new Rotation(Vector.Forward, nozzle.Direction); }
public HoleGeometry(int limit, double reflectionCoefficient, Atom.ReflectionPattern pattern, CylinderReflector nozzle, CylinderReflector subNozzle, Hole hole, Shield detector) : base(limit, reflectionCoefficient, pattern, new Structure[] { nozzle, subNozzle, hole, detector }) { }