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

Factory for the Scattering and Neutrino Detector (SND). More...

#include <NeutrinoDetectorFactory.h>

Public Member Functions

 NeutrinoDetectorFactory (SHiPMaterials &materials)
 Construct the factory against the shared materials catalogue.
 
 ~NeutrinoDetectorFactory ()=default
 Defaulted destructor.
 
GeoPhysVol * build ()
 Build the SND geometry; returns the air container.
 

Detailed Description

Factory for the Scattering and Neutrino Detector (SND).

Builds the SND as a single air container holding three sub-detectors in sequence along the beam (upstream → downstream):

  1. Veto — an upstream PVT scintillator-bar station: three planes of seven bars (two horizontal, staggered in Y; one vertical).
  2. NuTarget — a silicon/tungsten sampling target: 120 layers, each a tungsten absorber plate followed by an X and a Y silicon tracking plane (400 mm reference plate, 11.3 mm pitch).
  3. HCAL — a hadronic calorimeter: three transverse sections (40/50/60 cm), 14 layers each; every layer is an iron absorber, an X and a Y scintillating-fibre plane, and a polystyrene tile grid.

The geometry follows the repo factory idiom (calorimeter / straw tracker): a /SHiP/neutrino_detector air container filled with hierarchically named GeoPhysVol children that reuse shared GeoLogVols; sensitive-detector assignment is done downstream by name.

Each 0.5 mm scintillating-fibre plane is built from its individual fibres, two staggered sub-layers of 0.25 mm fibres. To keep the node count bounded, the O(300k) identical fibres are not placed one node at a time: a single shared fibre GeoPhysVol is multiply placed per sub-layer via a GeoSerialTransformer, so each plane costs O(1) tree nodes regardless of fibre count. The X/Y plane names are preserved for readout.

The container is a box approximation of the SND envelope (subsystem_envelopes.csv: z 26.40–31.50 m WARM, half-width/height up to 0.40 m); placement is handled by SHiPGeometry.

Constructor & Destructor Documentation

◆ NeutrinoDetectorFactory()

SHiPGeometry::NeutrinoDetectorFactory::NeutrinoDetectorFactory ( SHiPMaterials materials)
explicit

Construct the factory against the shared materials catalogue.

◆ ~NeutrinoDetectorFactory()

SHiPGeometry::NeutrinoDetectorFactory::~NeutrinoDetectorFactory ( )
default

Defaulted destructor.

Member Function Documentation

◆ build()

GeoPhysVol * SHiPGeometry::NeutrinoDetectorFactory::build ( )

Build the SND geometry; returns the air container.

Resolve materials, create the air container, lay out the veto, target and HCAL in beam order (content centred in the container), and return it.


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