Go Back to: C++ Manual General Site
LDMX.DetDescr package¶
Submodules¶
LDMX.DetDescr.ecal_geometry module¶
Configuration for EcalHexReadout
- class LDMX.DetDescr.ecal_geometry.EcalGeometry(layer_z_positions: list[float], ecal_front_z: float, gap: float, corners_side_up: bool, detectors_valid: list[str], layer_shift_x: float = 0.0, layer_shift_y: float = 0.0, layer_shift_odd: bool = False, layer_shift_odd_bilayer: bool = False, si_thickness: float = 0.3, n_cell_r_height: float = 35.3, module_min_r: float = 85.0)¶
Bases:
objectConfiguration for EcalHexReadout for a specific geometry
- layer_z_positions¶
z-coordinates of sensitive ecal layers relative to front of ecal [mm]
- Type:
float
- ecal_front_z¶
z-coordinate of front of ecal plane [mm]
- Type:
float
- gap¶
Distance separating module edges [mm]
- Type:
float
- corners_side_up¶
Are the corners of the modules pointed up? (or are the flat sides?)
- Type:
bool
- layer_shift_x¶
Shift in x [mm] for the layers that are shifted
- Type:
float
- layer_shift_y¶
Shift in y [mm] for the layers that are shifted
- Type:
float
- layer_shift_odd¶
Shift the odd-numbered layers
- Type:
bool
- layer_shift_odd_bilayer¶
Shift the odd-numbered bi-layers
- Type:
bool
- si_thickness¶
Thickness of the silicon sensor [mm]
- Type:
float
- detectors_valid¶
Regular expressions identifying which detectors are valid for this geometry
- Type:
array of strings
- module_min_r¶
Module hexagon center-to-flat radius [mm] UNLIKELY TO CHANGE - will only change if the CMS HGCAL High-Density design changes
- Type:
float
- n_cell_r_height¶
Number of cell sides (center-to-corner radii) spanning the module height UNLIKELY TO CHANGE - will only change if the CMS HGCAL High-Density design changes
- Type:
float
- corners_side_up: bool¶
- detectors_valid: list[str]¶
- ecal_front_z: float¶
- gap: float¶
- geometries()¶
- layer_shift_odd: bool = False¶
- layer_shift_odd_bilayer: bool = False¶
- layer_shift_x: float = 0.0¶
- layer_shift_y: float = 0.0¶
- layer_z_positions: list[float]¶
- module_min_r: float = 85.0¶
- n_cell_r_height: float = 35.3¶
- reduced()¶
- reduced_v2()¶
- reduced_v3()¶
- si_thickness: float = 0.3¶
- v12()¶
- v13()¶
- v14()¶
- v15()¶
- v9()¶
LDMX.DetDescr.hcal_geometry module¶
Configuration for HcalGeometry
- class LDMX.DetDescr.hcal_geometry.HcalGeometry(v13: HcalReadoutGeometry = <factory>, v14: HcalReadoutGeometry = <factory>, v1_prototype: HcalReadoutGeometry = <factory>, v2_prototype: HcalReadoutGeometry = <factory>)¶
Bases:
objectContainer for the various geometries
Only sets parameters that must align with the Hcal gdml constants.
- v13: HcalReadoutGeometry¶
- v14: HcalReadoutGeometry¶
- v1_prototype: HcalReadoutGeometry¶
- v2_prototype: HcalReadoutGeometry¶
- class LDMX.DetDescr.hcal_geometry.HcalReadoutGeometry(detectors_valid: list[str], scint_thickness: float, scint_width: float, scint_length: list[float, float], zero_layer: list[float], zero_strip: list[float, float], layer_thickness: list[float], num_layers: list[int], num_strips: list[int, int], half_total_width: list[float, float], ecal_dx: float, ecal_dy: float, num_sections: int, verbose: int = 0, back_horizontal_parity: int = 1, side_3d_readout: int = 0, y_offset: float = 0.0)¶
Bases:
objectConfiguration for HcalGeometry for a specific geometry
- detectors_valid¶
Regular expressions identifying which detectors are valid for this geometry
- Type:
array of strings
- scint_thickness¶
@param gdml: scint_thickness
- Type:
Scintillator thickness (in z).
- scint_width¶
@param gdml see: scint_bar_width
- Type:
Scintillator width (in x).
- zero_layer¶
Back Hcal first layer (in z) starts after Ecal+Side-Hcal_z @param gdml see: dz, air_thickness, absorber_thickness
- Type:
Position of the first scintillator layer
- zero_strip¶
For back Hcal: NumStrips * scint_bar_width / 2 (in x/y) @param gdml see: num_bars_front, num_bars_back, scint_bar_width
- Type:
Position of the first strip.
- half_total_width¶
Equal to zero_strip for the prototype geometry.
- Type:
Half length of a bar.
- layer_thickness¶
Layer thickness (in z) Can be obtained by: absorber_thickness + scint_thickness + 2.0*air_thickness @param gdml see: layer_thickness
- Type:
list[float]
- num_layers¶
Number of layers per section. @param gdml see: num_layers
- Type:
list[int]
- num_strips¶
Number of strips per layer. @param gdml see: num_bars_front, num_bars_back, num_layers_front, and num_layers_back
- Type:
list[int, int]
- num_sections¶
Set to 1 for the prototype geometry since the prototype only has the Back Hcal.
- Type:
int
- ecal_dx/ecal_dy
Used in the regular geometry to describe the dimensions of the Ecal. Since there is no Ecal in the prototype geometry, these are both set to 0.
- back_horizontal_parity¶
Layers with odd parity (1) are horizontal on the x-axis in the back HCal
- Type:
int
- y_offset¶
Offset of the entire Hcal geometry to be taken into account
- Type:
float
- back_horizontal_parity: int = 1¶
- detectors_valid: list[str]¶
- ecal_dx: float¶
- ecal_dy: float¶
- half_total_width: list[float, float]¶
- layer_thickness: list[float]¶
- make_v13()¶
Create the HcalGeometry with the v13 geometry parameters
Only sets parameters that must align with the Hcal gdml constants.
Nothing has changed in v13 for the HCal
- make_v14()¶
- make_v1_prototype()¶
Create the HcalGeometry with the testbeam prototype geometry parameters
- make_v2_prototype()¶
Create the HcalGeometry with the testbeam prototype geometry parameters
- num_layers: list[int]¶
- num_sections: int¶
- num_strips: list[int, int]¶
- scint_length: list[float, float]¶
- scint_thickness: float¶
- scint_width: float¶
- side_3d_readout: int = 0¶
- verbose: int = 0¶
- y_offset: float = 0.0¶
- zero_layer: list[float]¶
- zero_strip: list[float, float]¶