SHiP Geometry
SHiP experiment geometry implementation using GeoModel.
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
SHiPGeometry::SBTConfig Struct Reference

Configuration for the Surround Background Tagger (SBT) geometry. More...

#include <SBTConfig.h>

Public Member Functions

double subLength () const
 Length of one sub-frustum along Z (mm).
 
double webHeight () const
 Clear web height = height - 2*flange thickness (mm).
 
int nWalls () const
 Number of aluminium walls per container (n_cells + 1).
 
double zExit () const
 Exit-face Z in the DecayVolume local frame (mm).
 
double xGrowth () const
 dx_half/dz of the frustum (dimensionless).
 
double yGrowth () const
 dy_half/dz of the frustum (dimensionless).
 
double xHalfAt (double z_mm) const
 Half-extent of the frustum envelope in X at a given Z (mm).
 
double yHalfAt (double z_mm) const
 Half-extent of the frustum envelope in Y at a given Z (mm).
 
double zSubLo (int s) const
 Z of the start of sub-frustum s (mm).
 
double hbeamFlangeOffset () const
 Offset of a flange's mid-plane from the beam axis (mm).
 
double hbeamHalfHeight () const
 Reach of a flange's outer surface from the beam axis (mm) = h/2.
 
double zSplitOffset () const
 Z offset, from the start of a sub-frustum, of the column front-flange outer edge.
 
double sideContainerHalfThickness () const
 Half-thickness of a side container in X (mm).
 
double sideContainerCentreX (double x_half_mm) const
 |X| of a side container's centroid, given the local frustum half-width.
 
double sideSensorInnerX (double x_half_mm) const
 |X| of a side container's innermost face (mm).
 
double topBottomContainerHalfThickness () const
 Half-thickness of a top/bottom container in Y (mm).
 
double topBottomContainerCentreY (double y_half_mm) const
 |Y| of a top/bottom container's centroid (mm).
 
double topBottomSensorInnerY (double y_half_mm) const
 |Y| of a top/bottom container's innermost face (mm).
 
double topBottomAvailX (double x_half_mm) const
 Half-extent in X available to top/bottom containers (mm).
 
double longBeamCentreY (double y_half_mm) const
 |Y| of a top/bottom longitudinal beam's axis (mm).
 
double longBeamInnerY (double y_half_mm) const
 |Y| reached by a longitudinal beam's inner flange surface (mm).
 

Public Attributes

double x_half_entrance_mm = 1000.0
 
double y_half_entrance_mm = 1500.0
 
double x_half_exit_mm = 2000.0
 
double y_half_exit_mm = 3000.0
 
double total_length_mm = 50000.0
 
int n_sub_frustum = 10
 
double y_floor_mm = -3000.0
 
double z_entrance_mm = -25000.0
 
double hbeam_height_mm = 250.0
 
double hbeam_flange_width_mm = 260.0
 
double hbeam_flange_thickness_mm = 12.5
 
double hbeam_web_thickness_mm = 7.5
 
double container_thickness_mm = 225.0
 
double wall_thickness_mm = 5.0
 
int n_cells = 6
 
double sensor_clearance_mm = 1.0
 
double helium_clearance_mm = 0.001
 
std::string material_steel = "Iron"
 
std::string material_wall = "Aluminium"
 
std::string material_cell = "LAB"
 
std::string material_helium = "PressurisedHe90"
 
std::string material_air = "Air"
 

Detailed Description

Configuration for the Surround Background Tagger (SBT) geometry.

Populated by readSBTConfig() from an sbt.toml file. Drives the steel H-beam supporting structure, the LAB scintillator sensor containers, and the central helium volume of the DecayVolume subsystem. All lengths in mm.

Member Function Documentation

◆ hbeamFlangeOffset()

double SHiPGeometry::SBTConfig::hbeamFlangeOffset ( ) const
inline

Offset of a flange's mid-plane from the beam axis (mm).

◆ hbeamHalfHeight()

double SHiPGeometry::SBTConfig::hbeamHalfHeight ( ) const
inline

Reach of a flange's outer surface from the beam axis (mm) = h/2.

◆ longBeamCentreY()

double SHiPGeometry::SBTConfig::longBeamCentreY ( double  y_half_mm) const
inline

|Y| of a top/bottom longitudinal beam's axis (mm).

◆ longBeamInnerY()

double SHiPGeometry::SBTConfig::longBeamInnerY ( double  y_half_mm) const
inline

|Y| reached by a longitudinal beam's inner flange surface (mm).

The beam is inclined by the frustum taper, so its cross-section is rotated: the flange surface lies hbeamHalfHeight()/cos(atan(yGrowth)) from the axis measured in world Y, not hbeamHalfHeight().

◆ nWalls()

int SHiPGeometry::SBTConfig::nWalls ( ) const
inline

Number of aluminium walls per container (n_cells + 1).

◆ sideContainerCentreX()

double SHiPGeometry::SBTConfig::sideContainerCentreX ( double  x_half_mm) const
inline

|X| of a side container's centroid, given the local frustum half-width.

◆ sideContainerHalfThickness()

double SHiPGeometry::SBTConfig::sideContainerHalfThickness ( ) const
inline

Half-thickness of a side container in X (mm).

◆ sideSensorInnerX()

double SHiPGeometry::SBTConfig::sideSensorInnerX ( double  x_half_mm) const
inline

|X| of a side container's innermost face (mm).

◆ subLength()

double SHiPGeometry::SBTConfig::subLength ( ) const
inline

Length of one sub-frustum along Z (mm).

◆ topBottomAvailX()

double SHiPGeometry::SBTConfig::topBottomAvailX ( double  x_half_mm) const
inline

Half-extent in X available to top/bottom containers (mm).

The container stops half a flange width short of the frustum wall (that is where the columns' inner face is), less a 1 mm gap so it does not land flush against them. The 1 mm is inherited from the original SBTSensorBuilder and is a literal, not sensor_clearance_mm — the two happen to be equal at the current settings, which is worth being aware of when changing sensor_clearance_mm, but they are not the same quantity and this one is deliberately left as-is.

◆ topBottomContainerCentreY()

double SHiPGeometry::SBTConfig::topBottomContainerCentreY ( double  y_half_mm) const
inline

|Y| of a top/bottom container's centroid (mm).

◆ topBottomContainerHalfThickness()

double SHiPGeometry::SBTConfig::topBottomContainerHalfThickness ( ) const
inline

Half-thickness of a top/bottom container in Y (mm).

◆ topBottomSensorInnerY()

double SHiPGeometry::SBTConfig::topBottomSensorInnerY ( double  y_half_mm) const
inline

|Y| of a top/bottom container's innermost face (mm).

◆ webHeight()

double SHiPGeometry::SBTConfig::webHeight ( ) const
inline

Clear web height = height - 2*flange thickness (mm).

◆ xGrowth()

double SHiPGeometry::SBTConfig::xGrowth ( ) const
inline

dx_half/dz of the frustum (dimensionless).

◆ xHalfAt()

double SHiPGeometry::SBTConfig::xHalfAt ( double  z_mm) const
inline

Half-extent of the frustum envelope in X at a given Z (mm).

◆ yGrowth()

double SHiPGeometry::SBTConfig::yGrowth ( ) const
inline

dy_half/dz of the frustum (dimensionless).

◆ yHalfAt()

double SHiPGeometry::SBTConfig::yHalfAt ( double  z_mm) const
inline

Half-extent of the frustum envelope in Y at a given Z (mm).

◆ zExit()

double SHiPGeometry::SBTConfig::zExit ( ) const
inline

Exit-face Z in the DecayVolume local frame (mm).

◆ zSplitOffset()

double SHiPGeometry::SBTConfig::zSplitOffset ( ) const
inline

Z offset, from the start of a sub-frustum, of the column front-flange outer edge.

Sensor containers are split here: the piece upstream of it must present a flat outer face, or it would eat into the column.

◆ zSubLo()

double SHiPGeometry::SBTConfig::zSubLo ( int  s) const
inline

Z of the start of sub-frustum s (mm).

Member Data Documentation

◆ container_thickness_mm

double SHiPGeometry::SBTConfig::container_thickness_mm = 225.0

◆ hbeam_flange_thickness_mm

double SHiPGeometry::SBTConfig::hbeam_flange_thickness_mm = 12.5

◆ hbeam_flange_width_mm

double SHiPGeometry::SBTConfig::hbeam_flange_width_mm = 260.0

◆ hbeam_height_mm

double SHiPGeometry::SBTConfig::hbeam_height_mm = 250.0

◆ hbeam_web_thickness_mm

double SHiPGeometry::SBTConfig::hbeam_web_thickness_mm = 7.5

◆ helium_clearance_mm

double SHiPGeometry::SBTConfig::helium_clearance_mm = 0.001

◆ material_air

std::string SHiPGeometry::SBTConfig::material_air = "Air"

◆ material_cell

std::string SHiPGeometry::SBTConfig::material_cell = "LAB"

◆ material_helium

std::string SHiPGeometry::SBTConfig::material_helium = "PressurisedHe90"

◆ material_steel

std::string SHiPGeometry::SBTConfig::material_steel = "Iron"

◆ material_wall

std::string SHiPGeometry::SBTConfig::material_wall = "Aluminium"

◆ n_cells

int SHiPGeometry::SBTConfig::n_cells = 6

◆ n_sub_frustum

int SHiPGeometry::SBTConfig::n_sub_frustum = 10

◆ sensor_clearance_mm

double SHiPGeometry::SBTConfig::sensor_clearance_mm = 1.0

◆ total_length_mm

double SHiPGeometry::SBTConfig::total_length_mm = 50000.0

◆ wall_thickness_mm

double SHiPGeometry::SBTConfig::wall_thickness_mm = 5.0

◆ x_half_entrance_mm

double SHiPGeometry::SBTConfig::x_half_entrance_mm = 1000.0

◆ x_half_exit_mm

double SHiPGeometry::SBTConfig::x_half_exit_mm = 2000.0

◆ y_floor_mm

double SHiPGeometry::SBTConfig::y_floor_mm = -3000.0

◆ y_half_entrance_mm

double SHiPGeometry::SBTConfig::y_half_entrance_mm = 1500.0

◆ y_half_exit_mm

double SHiPGeometry::SBTConfig::y_half_exit_mm = 3000.0

◆ z_entrance_mm

double SHiPGeometry::SBTConfig::z_entrance_mm = -25000.0

The documentation for this struct was generated from the following file: