HerdSoftware  0.4.0
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
ParametricGeo Class Reference

Parameterized HERD geometry. More...

#include <simulation/geometry/parametric/ParametricGeo.h>

Inheritance diagram for ParametricGeo:

Classes

struct  NormalPositions
 

Public Member Functions

 ParametricGeo ()
 Constructor. More...
 
G4VPhysicalVolume * Construct () override
 Constructs the full HERD detector. More...
 
bool ExportParameters () override
 Exports the geometry parameters to the output file. More...
 
bool IsInsideAcceptance (const G4ThreeVector &generationPosition, const G4ThreeVector &direction) const override
 Find if the generated trajectory is inside the defined acceptance. More...
 
int GetAcceptanceType (const G4ThreeVector &generationPosition, const G4ThreeVector &direction) const
 Find if the generated particle is inside one of the defined acceptances. More...
 
G4VPhysicalVolume * GetVolume () override
 Returns the pointer to physical world. More...
 
const std::string GetVersion () override
 Returns the current version of the geometry. More...
 

Private Member Functions

std::vector< double > InterceptX (double Xplane, const G4ThreeVector &generationPosition, const G4ThreeVector &direction) const
 Compute the intercept of a line and a plane in YZ view. More...
 
std::vector< double > InterceptY (double Yplane, const G4ThreeVector &generationPosition, const G4ThreeVector &direction) const
 Compute the intercept of a line and a plane in XZ view. More...
 
std::vector< double > InterceptZ (double Zplane, const G4ThreeVector &generationPosition, const G4ThreeVector &direction) const
 Compute the intecept of a line and a plane in XY view. More...
 
double PntDistance (std::vector< double > v, const G4ThreeVector a) const
 Calculate the distance between 2 points. More...
 
std::vector< bool > ParseListOfWLayers (std::string str)
 Translate the string with information of W layer position in a vector. More...
 
void _SetTrackingDetector (const std::string &trkDet)
 
void _SetAnticoincidenceDetector (const std::string &acDet)
 
void _SetChargeIdDetector (const std::string &cidDet)
 
void _SetCaloCrystalDensity (double density)
 
void _SetCaloSideFitDistance (double d)
 

Private Attributes

GeneralOptions m_generalOpt
 
CaloOptions m_caloOpt
 
AcceptanceOptions m_acceptanceOpt
 
PSDOptions m_psdOpt
 
FITOptions m_fitOpt
 
SCDOptions m_scdOpt
 
TRDOptions m_trdOpt
 
ShieldOptions m_shieldOpt
 
CSSOptions m_cssOpt
 
G4VPhysicalVolume * m_worldPhysical
 
struct ParametricGeo::NormalPositions m_scdNormalPositions
 
struct ParametricGeo::NormalPositions m_psdNormalPositions
 
struct ParametricGeo::NormalPositions m_fitNormalPositions
 

Detailed Description

Parameterized HERD geometry.

This HERD geometry can be tuned by setting some parameters using a geometry datacard. The datacard commands are located inside the /herd/geometry/parametric/ command folder. Commands for sub-detectors are inside a sub-folder named as the detector, while general commands are inside the general subfolder. The names of the commands are identical to the names of the parameters they set. It is also possible to tune the parameters of the acceptance check by means of the commands in the /herd/geometry/parametric/acceptance/ command folder.

Please refer also to the geometry parameters page and the acceptance page on the HERD wiki for additional documentation.

Example 1: to set the general "caloTopFitDistance" parameter to 60 mm use the command

/herd/geometry/parametric/general/caloTopFitDistance 60 mm

Example 2: to set the "monolithic" parameter of CALO to true use the command

/herd/geometry/parametric/calo/monolithic true

Example 3: to set the acceptance category 2 by requiring the entrance point on the bottom surface of CALO and a shower length > 10 cm (if shower length is 0, no shower length check is applied and the MCCaloAccType 2 requires only the entrance point on the specified surfaces)

/herd/geometry/parametric/acceptance/MCCaloAccType 2
/herd/geometry/parametric/acceptance/selectTOPcalo 0
/herd/geometry/parametric/acceptance/selectBOTTOMcalo 1
/herd/geometry/parametric/acceptance/selectXNEGcalo 0
/herd/geometry/parametric/acceptance/selectXPOScalo 0
/herd/geometry/parametric/acceptance/selectYNEGcalo 0
/herd/geometry/parametric/acceptance/selectYPOScalo 0
/herd/geometry/parametric/acceptance/caloShowerLength 10

Available settable parameters

General

Name Description Default value
chargeID The type of charge detector (scd scdTop scdSide scd_v2 scdTop_v2 scdSide_v2 none) none
tracker The type of tracker (fit fitTop fitSide none) fit
calorimeter The type of calorimeter (calo calo_v2 spherical none) calo
antiCoincidence The type of anti coincidence (psd psdTop psdSide psd_v2 psdTop_v2 psdSide_v2 none) psd
shield The type of external shield (antiMeteorite none) none
spaceStation The space station (css none) none
caloTopFitDistance Distance between top face of CALO and bottom face of top FIT 15.0 cm
topFitTopPsdDistance Distance between top face of top FIT and bottom face of top PSD 6.1 cm (for v1 tiles PSD)
topPsdTopScdDistance Distance between top face of top PSD and bottom face of top SCD 2.0 cm
caloSideFitDistance Distance between side faces of CALO and inner faces of side FIT see below for X and Y
caloSideXFitDistance Distance between side X faces of CALO and inner faces of side X FIT 8.63 cm
caloSideYFitDistance Distance between side Y faces of CALO and inner faces of side Y FIT 11.53 cm
sideFitSidePsdDistance Distance between FIT and PSD on all the lateral sides 7.75 cm (for v1 tiles PSD)
sidePsdSideScdDistance Distance between PSD and SCD on all the lateral sides 2.0 cm

PSD

Name Description Default value (v1) Default value (v2)
topThickness Scintillator thickness for the top PSD 1 cm 1 cm
sideThickness Scintillator thickness for the side PSD 1 cm 1 cm
nTopTileLayers Number of tile layers on top (must be set either to 1 or 2) 1 1
nTopTilesAlongX Number of tiles along X on top layers 180 20
nTopTilesAlongY Number of tiles along Y on top layers 180 20
topTileSizeX Size of top tiles along X 1 cm 10 cm
topTileSizeY Size of top tiles along Y 1 cm 10 cm
topTileGapXLayEven Gap among top tiles along X for even layers (0,2,...) 0 mm 0 mm
topTileGapXLayOdd Gap among top tiles along X for odd layers (0,2,...) 0 mm 0 mm
topTileGapYLayEven Gap among top tiles along Y for even layers (0,2,...) 0 mm 0 mm
topTileGapYLayOdd Gap among top tiles along Y for odd layers (0,2,...) 0 mm 0 mm
topTileGapX Gap among top tiles along X for even layers and Y for odd 0 mm 0 mm
topTileGapY Gap among top tiles along Y for even layers and X for odd 0 mm 0 mm
topTileLayerGap Gap between top layers 0 mm (only 1 layer) 4 mm
nSideTileLayers Number of tile layers on side (must be set either to 1 or 2) 1 1
nSideTilesAlongH Number of tiles along H on side layers 160 16
nSideTilesAlongV Number of tiles along V on side layers 100 11
sideTileSizeH Size of side tiles along H 1 cm 10 cm
sideTileSizeV Size of side tiles along V 1 cm 10 cm
sideTileGapHLayEven Gap among side tiles along H for even layers (0,2,...) 0 mm 0 mm
sideTileGapHLayOdd Gap among side tiles along H for odd layers (1,3,...) 0 mm 0 mm
sideTileGapVLayEven Gap among side tiles along V for even layers (0,2,...) 0 mm 0 mm
sideTileGapVLayOdd Gap among side tiles along V for odd layers (1,3,...) 0 mm 0 mm
sideTileGapH Gap among side tiles along H for even layers and V for odd 0 mm 0 mm
sideTileGapV Gap among side tiles along V for even layers and H for odd 0 mm 0 mm
sideTileLayerGap Gap between side layers 0 mm (only 1 layer) 4 mm
topXPos Position along X of the PSD on top 0. 0.
topYPos Position along Y of the PSD on top 0. 0.
xSideVPos Position along V of the side PSDs on X sides. -18.988 cm -14.5 cm
ySideVPos Position along V of the side PSDs on Y sides. -18.988 cm -14.5 cm
xSideHPos Position along H of the side PSDs on X sides. 0. cm 7.9 cm
ySideHPos Position along H of the side PSDs on Y sides. 0. cm 7.9 cm
topTileBaseAngle Trapezoidal face base angle in top tiles PI/2 PI/2
sideTileBaseAngle Trapezoidal face base angle in side tiles PI/2 PI/2

FIT

Name Description Default value
nTopLayers Number of top FIT X-Y double layers (number of trays is nToplayers+1) 5 (v1), 7 (v2)
nSideLayers Number of side FIT X-Y double layers (n. of trays is nSidelayers+1) 9 (v1), 7 (v2)
nTopWLayers Number of top FIT trays with tungsten (nTopWLayers<=(nTopLayers-2)) 0
nSideWLayers Number of side FIT trays with tungsten (nSideWLayers<=(nSideLayers-2)) 0
listOfTopWDoubleLayers List of double layers with tungsten on TOP (list of zeroes and ones) None
listOfSideWDoubleLayers List of double layers with tungsten on sides (list of zeroes and ones) None
matThickness Thickness of a FIT mat (polystyrene fibers + glue + kapton foil epoxy) 0.158 cm
matCoreThickness Thickness of a FIT mat core (polystyrene fibers + glue) 0.130 cm
WThickness Thickness of the FIT tungsten layers (default unit: cm) 0.2 cm
cfrpThickness Thickness of carbon fibre sheets material in FIT 0.03 cm
hcombThickness Thickness of honeycomb in FIT 2.0 cm
trayGap Gap between two FIT trays 0.64 mm
sidePlaneSizeH Size of side FIT planes along the horizontal direction 106.0 cm (v1; for v2 see defaults for even and odd layers)
sidePlaneSizeV Size of side FIT planes along the vertical direction 74.2 cm (v1; for v2 see defaults for even and odd layers)
topPlaneSize Dimension of all planes on top FIT, i.e. along X and Y 116.6 cm (v1; for v2 see defaults for even and odd layers along X and Y)
sidePlaneSizeHLayEven Dimension of even planes on side FIT along H 106.0 cm (v1), 98.0 cm (v2)
sidePlaneSizeHLayOdd Dimension of odd planes on side FIT along H 106.0 cm
sidePlaneSizeVLayEven Dimension of even planes on side FIT along V 74.2 cm (v1), 67.2 cm (v2)
sidePlaneSizeVLayOdd Dimension of odd planes on side FIT along V 74.2 cm (v1), 58.78 (v2)
topPlaneSizeXLayEven Dimension of even planes on top FIT along X 116.6 cm (v1), 106.6 (v2)
topPlaneSizeXLayOdd Dimension of odd planes on top FIT along X 116.6 cm (v1), 97.98 (v2)
topPlaneSizeYLayEven Dimension of even planes on top FIT along Y 116.6 cm (v1), 97.98 (v2)
topPlaneSizeYLayOdd Dimension of odd planes on top FIT along Y 116.6 cm, 106.6 (v2)
topXPos Position along X of the FIT on top 0.
topYPos Position along Y of the FIT on top 0.
xSideVPos Position along V of the FITs on X sides -26.19 cm
ySideVPos Position along V of the FITs on Y sides -26.19 cm
xSideHPos Position along H of the FITs on X sides -6.42 cm
ySidedHPos Position along H of the FITs on Y sides -6.42 cm

SCD

Name Description Default value
waferThickness Thickness of one silicon wafer 150 um (v1). 300 um (v2)
waferLength Length (along strips) of silicon wafer (settable only for v2) 95 mm (v1), 97.5 mm (v2)
waferWidth Width (orth. to strips) of silicon wafer (settable only for v2) 95 mm (v1), 97.5 mm (v2)
cfhThickness Thickness of a carbon-fiber honeycomb layer (settable only for v2) 3 mm (v1), 50 mm (v2)
nToplayers Number of Top X-Y SCD layers 4
nSideLayers Number of Side X-Y SCD layers 4
nTopWafers Number of wafers along X and Y in top SCD 20
nSideWafersH Number of wafers along H in side SCDs 18
nSideWafersV Number of wafers along V in side SCDs 9
topLadderSize # of wafers in a top ladder (0 -> nTopWafers) (settable only for v2) 1 (v1), 8 (v2)
sideLadderSizeH # of wafers in a side H ladder (0 -> nSideWafersH) (settable only for v2) 1 (v1), 8 (v2)
sideLadderSizeV # of wafers in a side V ladder (0 -> nSideWafersV) (settable only for v2) 1 (v1), 8 (v2)
sideLaddersAllV Align all the ladders in side SCD layers along V (only for v2) false
topStaggeringX Staggering of top layers along X (settable only for v2) 0.
topStaggeringY Staggering of top layers along Y (settable only for v2) 0.
sideStaggeringH Staggering of side layers along H (settable only for v2) 0.
sideStaggeringV Staggering of side layers along V (settable only for v2) 0.
topXPos Position along X of the SCD on top 0.
topYPos Position along Y of the SCD on top 0.
xSideVPos Position along V of the SCDs on X sides Fixed w.r.t top PSD
ySideVPos Position along V of the SCDs on Y sides Fixed w.r.t top PSD
xSideHPos Position along H of the SCDs on X sides 2 cm
ySidedHPos Position along H of the SCDs on Y sides 2 cm
waferGap Gap between Si wafers on the same ladder (settable only for v2) 0. (v1), 0.2 mm (v2)
ladderGap Gap between Si wafers on neighb. ladders (settable only for v2) 0.1 mm (v1), 0.2 mm (v2)
topSiCfhGap Gap between Si layer and CFH layer in top SCD (settable only for v2) 0.5 mm (v1), 0.05 mm (v2)
sideSiCfhGap Gap between Si layer and CFH layer in side SCD (settable only for v2) 0.5 mm (v1), 0.05 mm (v2)
topXYGap Gap between X and Y layers in top SCD 0.5 mm
sideXYGap Gap between X and Y layers in side SCD 0.5 mm
topTrayGap Gap between trays in top SCD 2 mm
sideTrayGap Gap between trays in side SCD 2 mm
hasFoam Fills the SCD volume with foam false
foamDensity Density of the foam 192 kg/m3
foamMaterial Material of the foam polyurethane

CALO

Name Description Default value
monolithic If true, the CALO will be made of a single LYSO block false
crystalSize The size of a LYSO cubic crystal 3 cm
crystalDensity The density of a LYSO crystal 7.4 (calo_v1) or 7.2 (calo_v2) or 7.1 (spherical) g/cm3
crystalSlotSize The size of a tray slot accommodating a single LYSO cubic crystal 3 cm
fillerMaterial Name of the material for filling the CALO (available only for v1) G4_Galactic
fillerDensity Density of the filler material for the CALO (available only for v1) The one for fillerMaterial
cubeMaskPath Text file containing the GGS volume IDs of cubes that will be masked ""
sphericalMaxCubesZ Maximum number of cubes along Z (only for spherical CALO) 21
sphericalMaxCubesX Maximum number of cubes along X (only for spherical CALO) 23
sphericalMaxCubesY Maximum number of cubes along Y (only for spherical CALO) 23
sphericalRadius Radius of the CALO in cube ID units (only for spherical CALO) 12.285
withSupports If false then the supports will not be placed in the G4 CALO geometry. Currently settable only for spherical_v3 true
drawSupports If false then the supports will not be drawn in the OpenGL visualization true

TRD

Name Description Default value
nModulesV Number of modules along the vertical direction 3
nModulesH Number of modules along the horizontal direction 3
posV Vertical (Z) coordinate (cm) of the TRD center-of-mass center of calorimeter
posH Horizontal (X) coordinate (cm) of the TRD center-of-mass 0 cm
gapFromSideDetector Gap between TRD and the nearest side detector (PSD or SCD) 5 cm

Shield

Name Description Default value
amThickness Thickness of the anti-meteorite shield 1 mm
amMaterial Material of the anti-meteorite shield Al
amGap Gap between the AM shield and the nearest detector 5 cm

CSS

Name Description Default value
spSpinAngleM1_1 Spin angle of solar panel 1 of module 1 0
spSpinAngleM1_2 Spin angle of solar panel 2 of module 1 0
spSpinAngleM2_1 Spin angle of solar panel 1 of module 2 0
spSpinAngleM2_2 Spin angle of solar panel 2 of module 2 0
spSpinAngleMC_1 Spin angle of solar panel 1 of module Core 0
spSpinAngleMC_2 Spin angle of solar panel 2 of module Core 0
spRevAngleM1 Revolution angle of the solar panels of module 1 0
spRevAngleM2 Revolution angle of the solar panels of module 2 0
spSpinAngleM1 Spin angle of both the solar panels of module 1 0
spSpinAngleM2 Spin angle of both the solar panels of module 2 0
spSpinAngleM1M2 Spin angle of all the solar panels of modules 1 and 2 0
spSpinAngleMC Spin angle of both the solar panels of module Core 0
spRevAngleM1M2 Revolution angle of all the solar panel groups of modules 1 and 2 0
cabinMaterial material name of all cabin shells G4_Al

ACCEPTANCE

Name Description Default value
MCCaloAccType Select the acceptance category: 1 double planes, 2 selected planes & shower length 2
caloTOPXwidth Top plane x width [cm] 85 cm
caloTOPYwidth Top plane y width [cm] 80 cm
caloTOPZquote Top plane z quote [cm] 3.4 cm
caloShowerLength Minimum required shower length [cm] 0 cm
caloBOTTOMXwidth Bottom plane x width [cm] 85 cm
caloBOTTOMYwidth Bottom plane y width [cm] 80 cm
caloBOTTOMZquote Bottom plane z quote [cm] -76.6 cm
selectTOPcalo Activate the top surface of the CALO true
selectBOTTOMcalo Activate the bottom surface of the CALO false
selectXNEGcalo Activate the x negative surface of the CALO true
selectXPOSMcalo Activate the x positive surface of the CALO true
selectYNEGcalo Activate the y negative surface of the CALO true
selectYPOSMcalo Activate the y positive surface of the CALO true

Available exported parameters

The following parameters are exported to the GGS output file and can be retrieved in the offline analysis using the GGS reader.

General

Name Description Type
general/chargeID The type of charge detector (scd scdTop scdSide none) String
general/tracker The type of tracker (fit fitTop fitSide none) String
general/calorimeter The type of calorimeter (calo calo_v2 none) String
general/antiCoincidence The type of anti coincidence (psd psdTop psdSide none) String

PSD

Name Description Type
psd/topThickness Scintillator thickness for the Top PSD Real
psd/sideThickness Scintillator thickness for the Side PSD Real
psd/nTopLayers Number of top PSD layers Int
psd/nSideLayers Number of PSD layers on each side Int
psd/topXPos Position along X of PSD on top [cm] Real
psd/topYPos Position along Y of PSD on top [cm] Real
psd/xSideVpos Position along V of PSDs on X sides [cm] Real
psd/ySideVpos Position along V of PSDs on Y sides [cm] Real
psd/xSideHpos Position along H of PSDs on X sides [cm] Real
psd/ySideHpos Position along H of PSDs on Y sides [cm] Real
psd/topLayerZPosNN Z position of top layer n. NN [cm] Real
psd/sideLayerXPosNN X position of side layer n. NN [cm] Real
psd/sideLayerYPosNN Y position of side layer n. NN [cm] Real
psd/topTileSizeX Size of top tiles along X [cm] Real
psd/topTileSizeY Size of top tiles along Y [cm] Real
psd/topTileGapXLayEven Gap among top tiles on even layers along X [cm] Real
psd/topTileGapXLayOdd Gap among top tiles on odd layers along X [cm] Real
psd/topTileGapYLayEven Gap among top tiles on even layers along Y [cm] Real
psd/topTileGapYLayOdd Gap among top tiles on odd layers along Y [cm] Real
psd/topTileGapX Gap among top tiles along X (even) and Y (odd) [cm] Real
psd/topTileGapY Gap among top tiles along Y (even) and X (odd) [cm] Real
psd/nTopTilesAlongX Number of top tiles along X Int
psd/nTopTilesAlongY Number of top tiles along Y Int
psd/topTileBaseAngle Trapezoidal face base angle in top tiles [rad] Real
psd/sideTileSizeH Size of side tiles along H [cm] Real
psd/sideTileSizeV Size of side tiles along V [cm] Real
psd/sideTileGapH Gap among side tiles on same layer along H [cm] Real
psd/sideTileGapV Gap among side tiles on same layer along V [cm] Real
psd/nSideTilesAlongH Number of side tiles along H Int
psd/nSideTilesAlongV Number of side tiles along V Int
psd/sideTileBaseAngle Trapezoidal face base angle in side tiles [rad] Real
psd/topStaggeringX Staggering of top layers along X [cm] Real
psd/topStaggeringY Staggering of top layers along Y [cm] Real
psd/sideStaggeringH Staggering of side layers along H [cm] Real
psd/sideStaggeringV Staggering of side layers along V [cm] Real

FIT

Name Description Type
fit/nTopLayers Number of top FIT X-Y double layers (number of trays is nToplayers+1) Int
fit/nSideLayers Number of side FIT X-Y double layers (n. of trays is nSidelayers+1) Int
fit/nTopWLayers Number of top FIT trays with tungsten (nTopWLayers<=(nTopLayers-2)) Int
fit/nSideWLayers Number of side FIT trays with tungsten (nSideWLayers<=(nSideLayers-2)) Int
fit/matThickness Thickness of fiber mats [cm] Real
fit/matCoreThickness Thickness of fiber mat core [cm] Real
fit/sidePlaneSizeH Size of side FIT planes along the horizontal direction [cm] Real
fit/sidePlaneSizeV Size of side FIT planes along the vertical direction [cm] Real
fit/topPlaneSize Dimension of planes on top FIT, i.e. along X and Y [cm] Real
fit/topXPos Position along X of FIT on top [cm] Real
fit/topYPos Position along Y of FIT on top [cm] Real
fit/xSideVpos Position along V of FITs on X sides [cm] Real
fit/ySideVpos Position along V of FITs on Y sides [cm] Real
fit/xSideHpos Position along H of FITs on X sides [cm] Real
fit/ySideHpos Position along H of FITs on Y sides [cm] Real
fit/topLayerZPosNN Z position of top layer n. NN [cm] Real
fit/sideLayerXPosNN X position of side layer n. NN [cm] Real
fit/sideLayerYPosNN Y position of side layer n. NN [cm] Real
fit/WThickness Thickness of the FIT tungsten layers [cm] Real
fit/cfrpThickness Thickness of carbon fibre sheets material in FIT [cm] Real
fit/hcombThickness Thickness of honeycomb in FIT [cm] Real
fit/trayGap Gap between two trays in FIT [cm] Real

SCD

Name Description Type
scd/version SCD version Int
scd/waferThickness Thickness of one silicon wafer sensor [cm] Real
scd/waferLength Length (i.e. along strips) of silicon wafer [cm] Real
scd/waferWidth Width (i.e. orth. to strips) of silicon wafer [cm] Real
scd/nToplayers Number of X-Y top SCD layers Int
scd/nSidelayers Number of X-Y side SCD layers Int
scd/nTopWafers Number of wafers along X and Y in top SCD Int
scd/nSideWafersH Number of wafers along H in side SCDs Int
scd/nSideWafersV Number of wafers along V in side SCDs Int
scd/topLadderSize Number of wafers per ladder in top SCD Int
scd/sideLadderSizeH Number of wafers per H ladder in side SCD Int
scd/sideLadderSizeV Number of wafers per V ladder in side SCD Int
scd/sideLaddersAllV All ladders in side SCDs are along V Boolean
scd/topNStripsPerWafer Number of strips per sensor in top SCD Int
scd/sideNStripsPerWafer Number of strips per sensor in side SCD Int
scd/waferGap Gap between Si wafers on the same ladder [cm] Real
scd/ladderGap Gap between Si wafers on neighboring ladders [cm] Real
scd/topSiCfhGap Gap between Si plane and CFH plane on top SCD [cm] Real
scd/sideSiCfhGap Gap between Si plane and CFH plane on side SCD [cm] Real
scd/topXYGap Gap between X and Y layers in top SCD [cm] Real
scd/sideXYGap Gap between X and Y layers in side SCD [cm] Real
scd/topTrayGap Gap between trays in top SCD [cm] Real
scd/sideTrayGap Gap between trays in side SCD [cm] Real
scd/topStaggeringX Staggering of top layers along X [cm] Real
scd/topStaggeringY Staggering of top layers along Y [cm] Real
scd/sideStaggeringH Staggering of side layers along H [cm] Real
scd/sideStaggeringV Staggering of side layers along V [cm] Real
scd/topXPos Position along X of SCD on top [cm] Real
scd/topYPos Position along Y of SCD on top [cm] Real
scd/xSideVpos Position along V of SCDs on X sides [cm] Real
scd/ySideVpos Position along V of SCDs on Y sides [cm] Real
scd/xSideHpos Position along H of SCDs on X sides [cm] Real
scd/ySideHpos Position along H of SCDs on Y sides [cm] Real
scd/topLayerZPosNN Z position of top layer n. NN [cm] Real
scd/sideLayerXPosNN X position of side layer n. NN [cm] Real
scd/sideLayerYPosNN Y position of side layer n. NN [cm] Real
scd/hasFoam Flag for foam-filled SCD Boolean
scd/foamDensity Density of the foam Real
scd/foamMaterial Material of the foam String

CALO

Name Description Type
calo/monolithic If true, the CALO will be made of a single LYSO block Int
calo/xGap Small gaps width along X Real
calo/yGap Small gaps width along Y Real
calo/zGap Small gaps width along Z Real
calo/wellGapX Big gaps width X Real
calo/wellGapY Big gaps width Y Real
calo/wellGapZ Big gaps width Z Real
calo/crystalSize Cubic crystals size Real
calo/xCenter Center of the central crystal, X coord. Real
calo/yCenter Center of the central crystal, Y coord. Real
calo/zTop Z coordinate of the top surface of the top crystals Real
calo/fillerMaterial The material used to fill the CALO v1 String
calo/fillerDensity The density of the filler material for CALO v1 Real
calo/sphericalMaxCubesZ Maximum number of cubes along Z (only for spherical CALO) Int
calo/sphericalMaxCubesX Maximum number of cubes along X (only for spherical CALO) Int
calo/sphericalMaxCubesY Maximum number of cubes along Y (only for spherical CALO) Int
calo/sphericalRadius Radius of the CALO in cube ID units (only for spherical CALO) Real
calo/cubesXCoo X positions of all the cubes (in cm; GGS volume ID is the vector index) VectorOfReal
calo/cubesYCoo Y positions of all the cubes (in cm; GGS volume ID is the vector index) VectorOfReal
calo/cubesZCoo Z positions of all the cubes (in cm; GGS volume ID is the vector index) VectorOfReal
calo/lpdSizeL Lateral Size of LPD Real
calo/lpdSizeT Transverse Size of LPD Real
calo/spdSizeL Lateral Size of SPD Real
calo/spdSizeT Transverse Size of SPD Real
calo/lpdThickness Thickness of LPD Real
calo/spdThickness Thickness of SPD Real
calo/pdDistance Distance between centers of LPD and SPD Real
calo/pdShift Shift of photodiodes inside the crystals (0. -> PD external face aligned with crystal face Real
calo/withSupports If false then the passive support structures were not present in the geometry. Currently meaningful only for spherical_v3. Bool

TRD

Name Description Type
trd/nModulesV Number of modules along the vertical direction Int
trd/nModulesH Number of modules along the horizontal direction Int
trd/posV Vertical (Z) coordinate (cm) of the TRD center-of-mass Real
trd/posH Horizontal (X) coordinate (cm) of the TRD center-of-mass Real
trd/posT Transversal (Y) coordinate (cm) of the TRD center-of-mass Real
trd/gapFromSideDetector Gap between TRD and the nearest side detector (PSD or SCD) Real

Shield

Name Description Type
shield/amThickness Thickness of the anti-meteorite shield Real
shield/amMaterial Material of the anti-meteorite shield String
shield/amGap Gap between the AM shield and the nearest detector Real

CSS

Name Description Type
css/spSpinAngleM1_1 Spin angle of solar panel 1 of module 1 Real
css/spSpinAngleM1_2 Spin angle of solar panel 2 of module 1 Real
css/spSpinAngleM2_1 Spin angle of solar panel 1 of module 2 Real
css/spSpinAngleM2_2 Spin angle of solar panel 2 of module 2 Real
css/spSpinAngleMC_1 Spin angle of solar panel 1 of module Core Real
css/spSpinAngleMC_2 Spin angle of solar panel 2 of module Core Real
css/spRevAngleM1 Revolution angle of the solar panels of module 1 Real
css/spRevAngleM2 Revolution angle of the solar panels of module 2 Real
css/cabinMaterial material name of all cabin shells String

ACCEPTANCE

Name Description Type
acceptance/MCCaloAccType Select the acceptance category: 1 double planes, 2 selected planes & shower length Int
acceptance/caloTOPXwidth Top plane x width [cm] Real
acceptance/caloTOPYwidth Top plane y width [cm] Real
acceptance/caloTOPZquote Top plane z quote [cm] Real
acceptance/caloShowerLength Minimum required shower length [cm] Real
acceptance/caloBOTTOMXwidth Bottom plane x width [cm] Real
acceptance/caloBOTTOMYwidth Bottom plane y width [cm] Real
acceptance/caloBOTTOMZquote Bottom plane z quote [cm] Real
acceptance/selectTOPcalo Activate the top surface of the CALO Int
acceptance/selectBOTTOMcalo Activate the bottom surface of the CALO Int
acceptance/selectXNEGcalo Activate the x negative surface of the CALO Int
acceptance/selectXPOSMcalo Activate the x positive surface of the CALO Int
acceptance/selectYNEGcalo Activate the y negative surface of the CALO Int
acceptance/selectYPOSMcalo Activate the y positive surface of the CALO Int

Constructor & Destructor Documentation

◆ ParametricGeo()

ParametricGeo::ParametricGeo ( )

Constructor.

Member Function Documentation

◆ _SetAnticoincidenceDetector()

void ParametricGeo::_SetAnticoincidenceDetector ( const std::string &  acDet)
private

◆ _SetCaloCrystalDensity()

void ParametricGeo::_SetCaloCrystalDensity ( double  density)
private

◆ _SetCaloSideFitDistance()

void ParametricGeo::_SetCaloSideFitDistance ( double  d)
private

◆ _SetChargeIdDetector()

void ParametricGeo::_SetChargeIdDetector ( const std::string &  cidDet)
private

◆ _SetTrackingDetector()

void ParametricGeo::_SetTrackingDetector ( const std::string &  trkDet)
private

◆ Construct()

G4VPhysicalVolume * ParametricGeo::Construct ( )
override

Constructs the full HERD detector.

Returns
pointer to the world volume containing the detector.

◆ ExportParameters()

bool ParametricGeo::ExportParameters ( )
override

Exports the geometry parameters to the output file.

Writes the geometry parameters to the output file, to use them in offline analysis.

Returns
true if the parameters have been correctly exported.

◆ GetAcceptanceType()

int ParametricGeo::GetAcceptanceType ( const G4ThreeVector &  generationPosition,
const G4ThreeVector &  direction 
) const

Find if the generated particle is inside one of the defined acceptances.

Actually, two acceptances are defined, the default one is MCCAloAcc2 MCCaloAcc2 requires: ** the trajectory intercepts the top or lateral surfaces of an enlarged calo: the dimension of this calo is 85x80x80 cm, ** the path length of the particle in the enlarged calo is > 27 cm (~20 X0).

Parameters
generationPositionG4ThreeVector with the generated position
directionG4ThreeVector with the generated direction
Returns
0 if particle is out of acceptance, 1 if it is inside MCCAloAcc1 and 2 if it is inside MCCaloAcc2

◆ GetVersion()

const std::string ParametricGeo::GetVersion ( )
inlineoverride

Returns the current version of the geometry.

Returns
The current version of the geometry.

◆ GetVolume()

G4VPhysicalVolume* ParametricGeo::GetVolume ( )
inlineoverride

Returns the pointer to physical world.

Returns
pointer to the physical world volume containing the HERD detector.

◆ InterceptX()

std::vector< double > ParametricGeo::InterceptX ( double  Xplane,
const G4ThreeVector &  generationPosition,
const G4ThreeVector &  direction 
) const
private

Compute the intercept of a line and a plane in YZ view.

Parameters
XplaneX coordinate of the YZ plane.
generationPositionG4ThreeVector which contains the coordinates of the starting point.
directionG4ThreeVector which contains the direction vector.
Returns
a 3D vector with the intercept point.

◆ InterceptY()

std::vector< double > ParametricGeo::InterceptY ( double  Yplane,
const G4ThreeVector &  generationPosition,
const G4ThreeVector &  direction 
) const
private

Compute the intercept of a line and a plane in XZ view.

Parameters
YplaneY coordinate of the XZ plane.
generationPositionG4ThreeVector which contains the coordinates of the starting point.
directionG4ThreeVector array which contains the direction vector.
Returns
a 3D vector with the intercept point.

◆ InterceptZ()

std::vector< double > ParametricGeo::InterceptZ ( double  Zplane,
const G4ThreeVector &  generationPosition,
const G4ThreeVector &  direction 
) const
private

Compute the intecept of a line and a plane in XY view.

Parameters
ZplaneZ coordinate of the XY plane.
generationPositionG4ThreeVector which contains the coordinates of the starting point.
directionG4ThreeVector which contains the direction vector.
Returns
a 3D vector with the intercept point.

◆ IsInsideAcceptance()

bool ParametricGeo::IsInsideAcceptance ( const G4ThreeVector &  generationPosition,
const G4ThreeVector &  direction 
) const
override

Find if the generated trajectory is inside the defined acceptance.

Returns
true if the trajectory is inside the defined acceptance.

◆ ParseListOfWLayers()

std::vector< bool > ParametricGeo::ParseListOfWLayers ( std::string  str)
private

Translate the string with information of W layer position in a vector.

The string should be written as a sequence of ones or zeros, the first number is connected to the external layers, e.g. 001100 means that W layers are placed above the third and fourth fit layers starting from the extern.

Parameters
strlist of layers with W.
Returns
vector<bool> list of layers wit W.

◆ PntDistance()

double ParametricGeo::PntDistance ( std::vector< double >  v,
const G4ThreeVector  a 
) const
private

Calculate the distance between 2 points.

Parameters
vvector with 3 elements, it is the first point
aG4ThreeVector with the second point
Returns
the distance between points.

Member Data Documentation

◆ m_acceptanceOpt

AcceptanceOptions ParametricGeo::m_acceptanceOpt
private

◆ m_caloOpt

CaloOptions ParametricGeo::m_caloOpt
private

◆ m_cssOpt

CSSOptions ParametricGeo::m_cssOpt
private

◆ m_fitNormalPositions

struct ParametricGeo::NormalPositions ParametricGeo::m_fitNormalPositions
private

◆ m_fitOpt

FITOptions ParametricGeo::m_fitOpt
private

◆ m_generalOpt

GeneralOptions ParametricGeo::m_generalOpt
private

◆ m_psdNormalPositions

struct ParametricGeo::NormalPositions ParametricGeo::m_psdNormalPositions
private

◆ m_psdOpt

PSDOptions ParametricGeo::m_psdOpt
private

◆ m_scdNormalPositions

struct ParametricGeo::NormalPositions ParametricGeo::m_scdNormalPositions
private

◆ m_scdOpt

SCDOptions ParametricGeo::m_scdOpt
private

◆ m_shieldOpt

ShieldOptions ParametricGeo::m_shieldOpt
private

◆ m_trdOpt

TRDOptions ParametricGeo::m_trdOpt
private

◆ m_worldPhysical

G4VPhysicalVolume* ParametricGeo::m_worldPhysical
private

The documentation for this class was generated from the following files: