diff --git a/src/app.tsx b/src/app.tsx
index 54b2e32..0df7c49 100644
--- a/src/app.tsx
+++ b/src/app.tsx
@@ -8,7 +8,7 @@ export default function App(): JSX.Element {
return (
-
+
@@ -20,7 +20,7 @@ export default function App(): JSX.Element {
-
-
+
+
);
}
diff --git a/src/components/basicAppBar.tsx b/src/components/basicAppBar.tsx
index bfa71ce..129722f 100644
--- a/src/components/basicAppBar.tsx
+++ b/src/components/basicAppBar.tsx
@@ -8,6 +8,7 @@ import MenuIcon from "@mui/icons-material/Menu";
import { Drawer } from "@mui/material";
import SideMenu from "./sideMenu";
+
export default function BasicAppBar(): JSX.Element {
const [state, setState] = React.useState({ menuOpen: false });
const toggleDrawer = (open: boolean) => () => {
diff --git a/src/components/dataSideBar.tsx b/src/components/dataSideBar.tsx
index 1f14a77..af3b593 100644
--- a/src/components/dataSideBar.tsx
+++ b/src/components/dataSideBar.tsx
@@ -19,26 +19,8 @@ import { BeamlineConfig, DetectorType } from "../utils/types";
import React from "react";
import RemoveIcon from "@mui/icons-material/Remove";
import AddIcon from "@mui/icons-material/Add";
+import { DistanceUnits, EnergyUnits, WavelengthUnits, AngleUnits } from "../utils/units";
-enum DistanceUnits {
- millimetre = "millimetre",
- micrometre = "micrometre",
-}
-
-enum EnergyUnits {
- electronVolts = "electronVolts",
- kiloElectronVolts = "kiloElectronVolts",
-}
-
-enum WavelengthUnits {
- nanmometres = "nanometeres",
- angstroms = "angstroms",
-}
-
-enum AngleUnits {
- radians = "radians",
- degrees = "degrees",
-}
export default function DataSideBar(): JSX.Element {
const [cameraDiameterUnits, setCameraDiameterUnits] =
@@ -104,7 +86,7 @@ export default function DataSideBar(): JSX.Element {
};
return (
-
+
Configuration
@@ -112,6 +94,7 @@ export default function DataSideBar(): JSX.Element {
Predefined Configuration Templates
Detector
units
@@ -157,31 +142,30 @@ export default function DataSideBar(): JSX.Element {
units
-
- Position
-
- x:
- px
-
-
- y:
- px
-
-
-
+ Position
+
+ x:
+ px
+
+
+
+ y:
+ px
+
Clearance
@@ -190,13 +174,14 @@ export default function DataSideBar(): JSX.Element {
units
@@ -208,13 +193,13 @@ export default function DataSideBar(): JSX.Element {
units
@@ -235,12 +220,13 @@ export default function DataSideBar(): JSX.Element {
units
@@ -249,13 +235,13 @@ export default function DataSideBar(): JSX.Element {
units
@@ -272,6 +258,7 @@ export default function DataSideBar(): JSX.Element {
value={cameraLength}
/>
-
+
);
}
diff --git a/src/components/resultsBar.tsx b/src/components/resultsBar.tsx
index d950c16..600ef48 100644
--- a/src/components/resultsBar.tsx
+++ b/src/components/resultsBar.tsx
@@ -1,12 +1,74 @@
-import { Box, Card, CardContent, Stack, Typography } from "@mui/material";
+import { Box, Card, CardContent, Divider, FormControl, InputLabel, MenuItem, Select, SelectChangeEvent, Stack, Typography } from "@mui/material";
+import { AngleUnits } from "../utils/units";
+import React from "react";
+const theta = "\u03B8"
+
+enum ScatteringQuantity {
+ q = "q",
+ d = "d",
+ s = "s",
+ twoTheta = "2" + theta,
+}
+
+
export default function ResultsBar(): JSX.Element {
+ const [angleUnits, setAngleUnits] = React.useState(
+ AngleUnits.radians,
+ );
+
+ const handleAngleUnits = (event: SelectChangeEvent) => {
+ setAngleUnits(event.target.value as AngleUnits);
+ };
+ const [quantity, setQuantity] = React.useState(
+ ScatteringQuantity.q
+ );
+
+ const handleQuantity = (event: SelectChangeEvent) => {
+ setQuantity(event.target.value as ScatteringQuantity);
+ };
+
return (
- Results bottom bar
+ Results bottom bar
+
+
+ Scattering quantity:
+
+ quantity
+
+
+
+ units
+
+
+
+ Min {quantity} value:
+ Max {quantity} value:
+ Requested min {quantity} value:
+ Requested max {quantity} value:
diff --git a/src/main.tsx b/src/main.tsx
index 8d93f3a..5ce9948 100644
--- a/src/main.tsx
+++ b/src/main.tsx
@@ -5,6 +5,8 @@ import BasicAppBar from "./components/basicAppBar.tsx";
import "./index.css";
import { Box } from "@mui/material";
+
+
ReactDOM.createRoot(document.getElementById("root")!).render(
diff --git a/src/utils/types.ts b/src/utils/types.ts
index d96a748..1026ee1 100644
--- a/src/utils/types.ts
+++ b/src/utils/types.ts
@@ -1,4 +1,4 @@
-import Vector2D from "../calculations/vector";
+import { Vector2 } from "three";
export enum BeamlineConfig {
SaxAnIso = "I22 SAXS Anisotropic",
@@ -23,10 +23,10 @@ export interface Detector {
export interface Beamstop {
diameter: number;
- position: Vector2D;
+ position: Vector2;
}
export interface CameraTube {
diameter: number;
- position: Vector2D;
+ position: Vector2;
}
diff --git a/src/utils/units.ts b/src/utils/units.ts
new file mode 100644
index 0000000..50aabfd
--- /dev/null
+++ b/src/utils/units.ts
@@ -0,0 +1,22 @@
+const mu = "\u03bc"
+const angstrum = "\u212B"
+
+export enum DistanceUnits {
+ millimetre = "mm",
+ micrometre = mu + "m",
+}
+
+export enum EnergyUnits {
+ electronVolts = "eV",
+ kiloElectronVolts = "keV",
+}
+
+export enum WavelengthUnits {
+ nanmometres = "nm",
+ angstroms = angstrum
+}
+
+export enum AngleUnits {
+ radians = "rad",
+ degrees = "deg",
+}
\ No newline at end of file