 |
Belle II Software
release-05-01-25
|
11 #ifndef GEOARICHCREATOR_H
12 #define GEOARICHCREATOR_H
14 #include <geometry/CreatorBase.h>
15 #include <framework/logging/Logger.h>
16 #include <arich/dbobjects/ARICHGeometryConfig.h>
17 #include <framework/database/DBObjPtr.h>
18 #include <framework/database/DBImportObjPtr.h>
19 #include <framework/database/IntervalOfValidity.h>
20 #include <arich/dbobjects/ARICHModulesInfo.h>
21 #include <arich/dbobjects/ARICHGeoMergerCooling.h>
23 #include <G4AssemblyVolume.hh>
25 class G4LogicalVolume;
50 return arichGeometryConfig;
94 B2FATAL(
"No configuration for " << name <<
" found.");
157 G4AssemblyVolume*
makeJoint(G4Material* supportMaterial,
const std::vector<double>& pars);
A class that describes the interval of experiments/runs for which an object in the database is valid.
The Class for ARICH Geometry Parameters.
ARICHGeometryConfig m_config
geometry configuration
The Class for ARICH Sensitive Detector.
void addConstantOverride(const std::string &name, TObject *obj, bool oneRun=false)
Add constant override payload.
G4LogicalVolume * buildMirror(const ARICHGeometryConfig &detectorGeo)
build mirrors
G4LogicalVolume * buildDetectorPlane(const ARICHGeometryConfig &detectorGeo)
build detector plane
G4LogicalVolume * buildCables(const ARICHGeoCablesEnvelope &cablesGeo)
build the cables envelop with effective material describing cables
virtual void createFromDB(const std::string &name, G4LogicalVolume &topVolume, geometry::GeometryTypes type) override
Create the geometry from the Database.
G4LogicalVolume * buildFEBCoolingBody(const ARICHGeoFEBCooling &coolingv2Geo)
build FEB cooling bodies (cooling system update after phase 2)
DBObjPtr< ARICHModulesInfo > m_modInfo
information on installed modules from the DB
G4LogicalVolume * buildCoolingTorus(const unsigned i_volumeID, const ARICHGeoCooling &coolingGeo)
build cooling tube (G4Torus)
void createGeometry(G4LogicalVolume &topVolume, geometry::GeometryTypes type)
Create detector geometry.
G4LogicalVolume * buildHAPD(const ARICHGeoHAPD &hapdPar)
build the HAPD modules
G4LogicalVolume * buildCoolingTestPlate(const ARICHGeoCooling &coolingGeo)
build cooling test plates
void construct(Args &&... params)
Construct an object of type T in this DBImportObjPtr using the provided constructor arguments.
bool import(const IntervalOfValidity &iov)
Import the object to database.
G4LogicalVolume * buildAerogelPlaneWithIndividualTilesProp(const ARICHGeometryConfig &detectorGeo)
with individual properties of aerogel tiles
Class for accessing objects in the database.
Optional DBObjPtr: This class behaves the same as the DBObjPtr except that it will not raise errors w...
OptionalDBObjPtr< ARICHGeoMergerCooling > m_mergerCooling
merger cooling bodies geometry from the DB
G4LogicalVolume * buildMergerCooling(unsigned iType)
build merger cooling bodies (cooling system update after phase 2)
The creator for the ARICH geometry of the Belle II detector.
ARICHGeometryConfig createConfiguration(const GearDir ¶m)
Reads ARICH geometry parameters from the xml files and createst DB class ARICHGeometryConfig.
virtual void createPayloads(const GearDir &content, const IntervalOfValidity &iov) override
creates DB payload for ARICHGeometryConfig class
G4AssemblyVolume * makeJoint(G4Material *supportMaterial, const std::vector< double > &pars)
build joints of the ARICH support structure
G4LogicalVolume * buildMergerPCBEnvelopePlane(const ARICHGeometryConfig &detectorGeo)
build merger PCB assembly envelope plane
Abstract base class for different kinds of events.
G4LogicalVolume * buildSimpleAerogelPlane(const ARICHGeometryConfig &detectorGeo)
build simple aerogel plane (for cosmic test)
G4LogicalVolume * buildMerger(const ARICHGeoMerger &mergerGeo)
build the merger PCB logical volume
SensitiveAero * m_sensitiveAero
pointer to sensitive aerogel - used instead of tracking
Geometry parameters of Merger PCB.
GearDir is the basic class used for accessing the parameter store.
Class for importing a single object to the database.
virtual ~GeoARICHCreator()
The destructor of the GeoARICHreator class.
SensitiveDetector * m_sensitive
pointer to sensitive detector
static DBStore & Instance()
Instance of a singleton DBStore.
G4LogicalVolume * buildAerogelPlane(const ARICHGeometryConfig &detectorGeo)
build aerogel plane
virtual void create(const GearDir &content, G4LogicalVolume &topVolume, geometry::GeometryTypes type) override
Creates the ROOT Objects for the ARICH geometry.
GeoARICHCreator()
Constructor of the GeoARICHCreator class.
G4LogicalVolume * buildAerogelPlaneAveragedOverLayers(const ARICHGeometryConfig &detectorGeo)
build aerogel plane with average properties of aerogel per layer
This is optional (temporary) class that provides information on track parameters on aerogel plane,...
G4LogicalVolume * buildCoolingTube(const unsigned i_volumeID, const ARICHGeoCooling &coolingGeo)
build cooling tube (G4Tubs)
Geometry parameters of cable envelope.
int m_isBeamBkgStudy
flag the beam background study
double getAvgRINDEX(G4Material *material)
get refractive index of the material
Geometry parameters of Cooling System.
G4LogicalVolume * buildMergerEnvelope(const ARICHGeoMerger &mergerGeo, int type)
build single merger and merger cooling body envelope logical volume
Pure virtual base class for all geometry creators.
VXD::SensitiveDetector< PXDSimHit, PXDTrueHit > SensitiveDetector
The PXD Sensitive Detector class.
G4LogicalVolume * buildCoolingEnvelopePlane(const ARICHGeoCooling &coolingGeo)
build cooling system assembly envelope plane
Geometry parameters of HAPD.
GeometryTypes
Flag indiciating the type of geometry to be used.
G4LogicalVolume * buildDetectorSupportPlate(const ARICHGeometryConfig &detectorGeo)
build detector support plate
Geometry parameters of Cooling System - version2 (v2).