HerdSoftware  0.1.1
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 ()
 Constructs the full HERD detector. More...
 
bool ExportParameters ()
 Exports the geometry parameters to the output file. More...
 
bool IsInsideAcceptance (const G4ThreeVector &generationPosition, const G4ThreeVector &direction) const
 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 ()
 Returns the pointer to physical world. More...
 
const std::string GetVersion ()
 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 _SetAnticoincidenceDetector (const std::string &ac)
 
void _SetPsdType (const std::string &psdType)
 
void _SetCaloCrystalDensity (double density)
 
void _SetCaloSideFitDistance (double d)
 

Private Attributes

GeneralOptions _generalOpt
 
CaloOptions _caloOpt
 
AcceptanceOptions _acceptanceOpt
 
PSDOptions _psdOpt
 
STKOptions _stkOpt
 
FITOptions _fitOpt
 
SCDOptions _scdOpt
 
TRDOptions _trdOpt
 
ShieldOptions _shieldOpt
 
CSSOptions _cssOpt
 
G4VPhysicalVolume * _worldPhysical
 
struct ParametricGeo::NormalPositions stkNormalPositions
 
struct ParametricGeo::NormalPositions scdNormalPositions
 
struct ParametricGeo::NormalPositions psdNormalPositions
 
struct ParametricGeo::NormalPositions 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 "caloTopStkDistance" parameter to 60 mm use the command

/herd/geometry/parametric/general/caloTopStkDistance 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

General

Name Description Default value
chargeID The type of charge detector (scd scdTop scdSide none) none
tracker The type of tracker (stk stkTop stkSide fit fitTop fitSide none) stk
calorimeter The type of calorimeter (calo calo_v2 none) calo
antiCoincidence The type of anti coincidence (psd psdTop psdSide 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
caloTopStkDistance Distance between top face of CALO and bottom face of top STK 5.0 cm
topFitTopPsdDistance Distance between top face of top FIT and bottom face of top PSD 6.1 cm (for v1 tiles PSD)
topStkTopPsdDistance Distance between top face of top STK 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
caloSideXStkDistance Distance between lateral faces of CALO and of side X STK 5.0 cm
caloSideYStkDistance Distance between lateral faces of CALO and of side Y STK 5.0 cm
sideFitSidePsdDistance Distance between FIT and PSD on all the lateral sides 7.75 cm (for v1 tiles PSD)
sideStkSidePsdDistance Distance between STK and PSD on all the lateral sides 17.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)
type Selects the type of PSD elements (tiles or bars) tiles tiles
topThickness Scintillator thickness for the top PSD 1 cm (tiles) 1 cm (bars) 1 cm (tiles) 1 cm (bars)
sideThickness Scintillator thickness for the side PSD 1 cm (tiles) 1 cm (bars) 1 cm (tiles) 1 cm (bars)
nTopBarsAlongX Number of bars on X layers 180 45
nTopBarsAlongY Number of bars on Y layers (must be set equal to nTopBarsAlongX) 180 45
topBarWidth Width of top bars 1 cm 3 cm
topBarGap Gap between bars on each top layer 0 mm 14 mm
topBarLayerGap Gap between two top layers on the same view Unused (1 layer per view)4 mm
topBarPlaneGap Gap between X and Y planes 10 mm 2 mm
nSideBarsAlongH Number of bars on H layers (i.e. segmented along the horiz. dir.)162 36
nSideBarsAlongV Number of bars on V layers 102 25
sideBarWidth Width of side bars 1 cm 3 cm
sideBarGap Gap between bars on each side layer 0 mm 14 mm
sideBarLayerGap Gap between two side layers on the same view Unused (1 layer per view)4 mm
sideBarPlaneGap Gap between H and V planes 10 mm 2 mm
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
topTileGapX Gap among top tiles along X 0 mm 0 mm
topTileGapY Gap among top tiles along Y 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
sideTileGapH Gap among side tiles along H 0 mm 0 mm
sideTileGapV Gap among side tiles along V 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

STK

Name Description Default value
nToplayers Number of TOTAL top STK layers 6
nTopWlayers Number of top STK layers with tungsten 3
nSidelayers Number of TOTAL side STK layers 6
nTopWafers Number of wafers along X and Y in top STK 14
nSideWafersH Number of wafers along H in side STKs 12
nSideWafersV Number of wafers along V in side STKs 6
topAbsThickness Thickness of the absorber 1 mm
topStripPitch Pitch of top silicon strips 0 (no strips by deafult)
sideStripPitch Pitch of side silicon strips 0 (no strips by deafult)
topXPos Position along X of the STK on top 0.
topYPos Position along Y of the STK on top 0.
xSideVPos Position along V of the STKs on X sides -26.026 cm
ySideVPos Position along V of the STKs on Y sides -26.026 cm
xSideHPos Position along H of the STKs on X sides 20.455 cm
ySidedHPos Position along H of the STKs on Y sides 17.556 cm

FIT

Name Description Default value
nTopLayers Number of top FIT X-Y double layers (number of trays is nToplayers+1) 5
nSideLayers Number of side FIT X-Y double layers (n. of trays is nSidelayers+1) 9
nTopWLayers Number of top FIT trays with tungsten (nTopWLayers<=(nTopLayers-2)) 0
nSideWLayers Number of side FIT trays with tungsten (nSideWLayers<=(nSideLayers-2))0
WThickness Thickness of the FIT tungsten layers (default unit: cm) 0.2 cm
sidePlaneSizeH Size of side FIT planes along the horizontal direction 106.0 cm
sidePlaneSizeV Size of side FIT planes along the vertical direction 74.2 cm
topPlaneSize Dimension of planes on top FIT, i.e. along X and Y 116.6 cm
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
siliconThickness Thickness of one silicon sensor 150 um
nToplayers Specify number of Top TOTAL SCD layers 4
nSideLayers Specify number of Side TOTAL SCD layers 4
nTopWafers Number of wafers along X and Y in top SCD20
nSideWafersH Number of wafers along H in side SCDs 18
nSideWafersV Number of wafers along V in side SCDs 9
topStripPitch Pitch of top silicon strips 0 (no strips by deafult)
sideStripPitch Pitch of side silicon strips 0 (no strips by deafult)
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
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) 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, i.e. made of vacuum instead of LYSO. ""

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

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/caloTopStkDistance Distance between top face of CALO face and bottom face of top STK [cm] Real
general/caloSideStkDistance Distance between side face of CALO face and bottom face of side STK [cm] Real
general/topPsdTopStkDistance Distance between top face of top STK face and bottom face of top PSD [cm] Real
general/chargeID The type of charge detector (scd scdTop scdSide none) String
general/tracker The type of tracker (stk stkTop stkSide 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/type Selects the type of PSD elements (tiles or bars) String
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/topBarsWidth Width of top bars [cm] Real
psd/sideBarsWidth Width of side bars [cm] Real
psd/topLengthOfBarsAlongX Length of top bars along X [cm] Real
psd/topLengthOfBarsAlongY Length of top bars along Y [cm] Real
psd/sideLengthOfBarsAlongH Length of side bars along H [cm] Real
psd/sideLengthOfBarsAlongV Length of side bars along V [cm] Real
psd/topBarsGap Gap between top bars on same layer [cm] Real
psd/sideBarsGap Gap between side bars on same layer [cm] Real
psd/topBarsLayersGap Gap between top bar layers [cm] Real
psd/sideBarsLayersGap Gap between top side layers [cm] Real
psd/topBarsPlanesGap Gap between top bar planes [cm] Real
psd/sideBarsPlanesGap Gap between side bar planes [cm] Real
psd/nTopBarsAlongX Number of bars on top layers along X Int
psd/nTopBarsAlongY Number of bars on top layers along Y Int
psd/nSideBarsAlongH Number of bars on side layers along H Int
psd/nSideBarsAlongV Number of bars on side layers along V Int
psd/topTileSizeX Size of top tiles along X [cm] Real
psd/topTileSizeY Size of top tiles along Y [cm] Real
psd/topTileGapX Gap among top tiles on same layer along X [cm] Real
psd/topTileGapY Gap among top tiles on same layer along Y [cm] Real
psd/nTopTilesAlongX Number of top tiles along X Int
psd/nTopTilesAlongY Number of top tiles along Y Int
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/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

STK

Name Description Type
stk/nToplayers Number of TOTAL top STK layers Int
stk/nTopWlayers Number of top STK layers with tungsten Int
stk/nSidelayers Number of TOTAL side STK layers Int
stk/nTopWafers Number of wafers along X and Y in top STK Int
stk/nSideWafersH Number of wafers along H in side STKs Int
stk/nSideWafersV Number of wafers along V in side STKs Int
stk/topAbsThickness Thickness of the absorber [cm] Real
stk/topAbsMaterial Absorber material in top STK String
stk/topStripPitch Pitch of top silicon strips [cm] Real
stk/topNStripsPerWafer Number of strips in each wafer of top STK Int
stk/sideStripPitch Pitch of side silicon strips [cm] Real
stk/sideNStripsPerWafer Number of strips in each wafer of side STKs Int
stk/sideZShift Position of side STK (central point) along Z [cm] Real
stk/XSideNonZShift Position of Xpos STK (central point) along Y [cm] Real
stk/YSideNonZShift Position of Ypos STK (central point) along X [cm] Real
stk/topLayerZPosNN Z position of top layer n. NN [cm] Real
stk/sideLayerXPosNN X position of side layer n. NN [cm] Real
stk/sideLayerYPosNN Y position of side layer n. NN [cm] Real
stk/topXPos Position along X of STK on top [cm] Real
stk/topYPos Position along Y of STK on top [cm] Real
stk/xSideVpos Position along V of STKs on X sides [cm] Real
stk/ySideVpos Position along V of STKs on Y sides [cm] Real
stk/xSideHpos Position along H of STKs on X sides [cm] Real
stk/ySideHpos Position along H of STKs on Y sides [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/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

SCD

Name Description Type
scd/siliconThickness Thickness of one silicon sensor [cm] Real
scd/nToplayers Number of TOTAL top SCD layers Int
scd/nSidelayers Number of TOTAL 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/topStripPitch Pitch of top silicon strips [cm] Real
scd/topNStripsPerWafer Number of strips per sensor in top SCD Int
scd/sideStripPitch Pitch of side silicon strips [cm] Real
scd/sideNStripsPerWafer Number of strips per sensor in side SCD Int
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/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

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 &  ac)
private

◆ _SetCaloCrystalDensity()

void ParametricGeo::_SetCaloCrystalDensity ( double  density)
private

◆ _SetCaloSideFitDistance()

void ParametricGeo::_SetCaloSideFitDistance ( double  d)
private

◆ _SetPsdType()

void ParametricGeo::_SetPsdType ( const std::string &  psdType)
private

◆ Construct()

G4VPhysicalVolume * ParametricGeo::Construct ( )

Constructs the full HERD detector.

Returns
pointer to the world volume containing the detector.

◆ ExportParameters()

bool ParametricGeo::ExportParameters ( )

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 ( )
inline

Returns the current version of the geometry.

Returns
The current version of the geometry.

◆ GetVolume()

G4VPhysicalVolume* ParametricGeo::GetVolume ( )
inline

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

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

◆ _acceptanceOpt

AcceptanceOptions ParametricGeo::_acceptanceOpt
private

◆ _caloOpt

CaloOptions ParametricGeo::_caloOpt
private

◆ _cssOpt

CSSOptions ParametricGeo::_cssOpt
private

◆ _fitOpt

FITOptions ParametricGeo::_fitOpt
private

◆ _generalOpt

GeneralOptions ParametricGeo::_generalOpt
private

◆ _psdOpt

PSDOptions ParametricGeo::_psdOpt
private

◆ _scdOpt

SCDOptions ParametricGeo::_scdOpt
private

◆ _shieldOpt

ShieldOptions ParametricGeo::_shieldOpt
private

◆ _stkOpt

STKOptions ParametricGeo::_stkOpt
private

◆ _trdOpt

TRDOptions ParametricGeo::_trdOpt
private

◆ _worldPhysical

G4VPhysicalVolume* ParametricGeo::_worldPhysical
private

◆ fitNormalPositions

struct ParametricGeo::NormalPositions ParametricGeo::fitNormalPositions
private

◆ psdNormalPositions

struct ParametricGeo::NormalPositions ParametricGeo::psdNormalPositions
private

◆ scdNormalPositions

struct ParametricGeo::NormalPositions ParametricGeo::scdNormalPositions
private

◆ stkNormalPositions

struct ParametricGeo::NormalPositions ParametricGeo::stkNormalPositions
private

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