Belle II Software  release-08-01-10
GeoARICHCreator Class Reference

The creator for the ARICH geometry of the Belle II detector. More...

#include <GeoARICHCreator.h>

Inheritance diagram for GeoARICHCreator:
Collaboration diagram for GeoARICHCreator:

Public Member Functions

 GeoARICHCreator ()
 Constructor of the GeoARICHCreator class.
 
virtual ~GeoARICHCreator ()
 The destructor of the GeoARICHreator class.
 
virtual void create (const GearDir &content, G4LogicalVolume &topVolume, geometry::GeometryTypes type) override
 Creates the ROOT Objects for the ARICH geometry. More...
 
virtual void createPayloads (const GearDir &content, const IntervalOfValidity &iov) override
 creates DB payload for ARICHGeometryConfig class
 
virtual void createFromDB (const std::string &name, G4LogicalVolume &topVolume, geometry::GeometryTypes type) override
 Create the geometry from the Database.
 
 BELLE2_DEFINE_EXCEPTION (DBNotImplemented, "Cannot create geometry from Database.")
 Exception that will be thrown in createFromDB if member is not yet implemented by creator.
 

Private Member Functions

ARICHGeometryConfig createConfiguration (const GearDir &param)
 Reads ARICH geometry parameters from the xml files and createst DB class ARICHGeometryConfig.
 
void createGeometry (G4LogicalVolume &topVolume, geometry::GeometryTypes type)
 Create detector geometry.
 
G4LogicalVolume * buildHAPD (const ARICHGeoHAPD &hapdPar)
 build the HAPD modules
 
G4LogicalVolume * buildMerger (const ARICHGeoMerger &mergerGeo)
 build the merger PCB logical volume
 
G4LogicalVolume * buildMergerEnvelope (const ARICHGeoMerger &mergerGeo, int type)
 build single merger and merger cooling body envelope logical volume
 
G4LogicalVolume * buildCables (const ARICHGeoCablesEnvelope &cablesGeo)
 build the cables envelop with effective material describing cables
 
G4LogicalVolume * buildMirror (const ARICHGeometryConfig &detectorGeo)
 build mirrors
 
G4LogicalVolume * buildDetectorPlane (const ARICHGeometryConfig &detectorGeo)
 build detector plane
 
G4LogicalVolume * buildMergerPCBEnvelopePlane (const ARICHGeometryConfig &detectorGeo)
 build merger PCB assembly envelope plane
 
G4LogicalVolume * buildCoolingEnvelopePlane (const ARICHGeoCooling &coolingGeo)
 build cooling system assembly envelope plane
 
G4LogicalVolume * buildCoolingTube (const unsigned i_volumeID, const ARICHGeoCooling &coolingGeo)
 build cooling tube (G4Tubs)
 
G4LogicalVolume * buildCoolingTorus (const unsigned i_volumeID, const ARICHGeoCooling &coolingGeo)
 build cooling tube (G4Torus)
 
G4LogicalVolume * buildCoolingTestPlate (const ARICHGeoCooling &coolingGeo)
 build cooling test plates
 
G4LogicalVolume * buildFEBCoolingBody (const ARICHGeoFEBCooling &coolingv2Geo)
 build FEB cooling bodies (cooling system update after phase 2)
 
G4LogicalVolume * buildMergerCooling (unsigned iType)
 build merger cooling bodies (cooling system update after phase 2)
 
G4LogicalVolume * buildAerogelPlane (const ARICHGeometryConfig &detectorGeo)
 build aerogel plane
 
G4LogicalVolume * buildAerogelPlaneAveragedOverLayers (const ARICHGeometryConfig &detectorGeo)
 build aerogel plane with average properties of aerogel per layer
 
G4LogicalVolume * buildAerogelPlaneWithIndividualTilesProp (const ARICHGeometryConfig &detectorGeo)
 with individual properties of aerogel tiles
 
G4LogicalVolume * buildSimpleAerogelPlane (const ARICHGeometryConfig &detectorGeo)
 build simple aerogel plane (for cosmic test)
 
G4LogicalVolume * buildDetectorSupportPlate (const ARICHGeometryConfig &detectorGeo)
 build detector support plate
 
void makeJoint (G4Material *supportMaterial, const std::vector< double > &pars, G4AssemblyVolume *assemblyWedge)
 build joints of the ARICH support structure
 
double getAvgRINDEX (G4Material *material)
 get refractive index of the material
 

Private Attributes

ARICHGeometryConfig m_config
 geometry configuration
 
SensitiveDetectorm_sensitive
 pointer to sensitive detector
 
SensitiveAerom_sensitiveAero
 pointer to sensitive aerogel - used instead of tracking
 
int m_isBeamBkgStudy
 flag the beam background study
 
DBObjPtr< ARICHModulesInfom_modInfo
 information on installed modules from the DB
 
OptionalDBObjPtr< ARICHGeoMergerCoolingm_mergerCooling
 merger cooling bodies geometry from the DB
 

Detailed Description

The creator for the ARICH geometry of the Belle II detector.


Definition at line 40 of file GeoARICHCreator.h.

Member Function Documentation

◆ create()

virtual void create ( const GearDir content,
G4LogicalVolume &  topVolume,
geometry::GeometryTypes  type 
)
inlineoverridevirtual

Creates the ROOT Objects for the ARICH geometry.

Parameters
contentA reference to the content part of the parameter description, which should to be used to create the ROOT objects.

Implements CreatorBase.

Definition at line 68 of file GeoARICHCreator.h.

69  {
70  m_config = createConfiguration(content);
71 
72  // override geometry configuration from the DB
73  DBStore::Instance().addConstantOverride("ARICHGeometryConfig", new ARICHGeometryConfig(m_config));
74 
75  createGeometry(topVolume, type);
76  }
ARICHGeometryConfig createConfiguration(const GearDir &param)
Reads ARICH geometry parameters from the xml files and createst DB class ARICHGeometryConfig.
void createGeometry(G4LogicalVolume &topVolume, geometry::GeometryTypes type)
Create detector geometry.
ARICHGeometryConfig m_config
geometry configuration
static DBStore & Instance()
Instance of a singleton DBStore.
Definition: DBStore.cc:28
void addConstantOverride(const std::string &name, TObject *obj, bool oneRun=false)
Add constant override payload.
Definition: DBStore.cc:204

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