Belle II Software development
|
Geometry creator for TOP counter. More...
#include <GeoTOPCreator.h>
Public Member Functions | |
GeoTOPCreator () | |
Constructor. | |
virtual | ~GeoTOPCreator () |
Destructor. | |
virtual void | create (const GearDir &content, G4LogicalVolume &topVolume, geometry::GeometryTypes type) override |
Creation of the detector geometry from Gearbox (XML). | |
virtual void | createFromDB (const std::string &name, G4LogicalVolume &topVolume, geometry::GeometryTypes type) override |
Creation of the detector geometry from database. | |
virtual void | createPayloads (const GearDir &content, const IntervalOfValidity &iov) override |
Creation of payloads. | |
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 Types | |
enum | EPanelType { c_Inner , c_Outer } |
Honeycomb panel types. More... | |
enum | ESideRailType { c_Left , c_Right } |
Side rail types. More... | |
Private Member Functions | |
void | createGeometry (const TOPGeometry ¶meters, G4LogicalVolume &topVolume, geometry::GeometryTypes type) |
Create the geometry from a parameter object. | |
G4LogicalVolume * | createModule (const TOPGeometry &geo, int moduleID) |
Creates single module. | |
G4LogicalVolume * | createModuleEnvelope (const TOPGeoQBB &geo, int moduleID) |
Creates module envelope. | |
G4AssemblyVolume * | assembleQBB (const TOPGeoQBB &geo) |
Assembles QBB. | |
G4LogicalVolume * | createHoneycombPanel (const TOPGeoQBB &geo, EPanelType type) |
Creates honeycomb panel. | |
G4LogicalVolume * | createSideRail (const TOPGeoQBB &geo, ESideRailType type) |
Creates side rail. | |
G4AssemblyVolume * | assembleFrontEnd (const TOPGeoFrontEnd &geo, int N) |
Assembles front-end electronics. | |
G4LogicalVolume * | createBoardStack (const TOPGeoFrontEnd &geo, int N) |
Creates board stack. | |
G4AssemblyVolume * | assembleOptics (const TOPGeoModule &geo) |
Assembles optical components (PMT array, prism and bar segments) along z. | |
G4LogicalVolume * | createBarSegment (const TOPGeoBarSegment &geo, int moduleID) |
Creates quartz bar segment. | |
G4LogicalVolume * | createPrism (const TOPGeoPrism &geo, int moduleID) |
Creates quartz prism. | |
G4LogicalVolume * | createMirrorSegment (const TOPGeoMirrorSegment &geo, int moduleID) |
Creates quartz segment with spherical mirror. | |
G4LogicalVolume * | createPMTArray (const TOPGeoPMTArray &geo, int moduleID) |
Creates PMT array. | |
G4LogicalVolume * | createPMT (const TOPGeoPMT &geo) |
Creates single PMT. | |
G4LogicalVolume * | createBox (const std::string &name, double A, double B, double C, const std::string &materialName) |
Creates material box. | |
G4LogicalVolume * | createBoxSphereIntersection (const std::string &name, G4Box *box, double Rmin, double Rmax, double xc, double yc, double zc, const std::string &materialName) |
Creates material volume that is intersection of box and half-sphere shell (z > 0) | |
G4LogicalVolume * | createExtrudedSolid (const std::string &name, const Polygon &shape, double length, const std::string &materialName) |
Creates material extruded solid. | |
std::string | addNumber (const std::string &str, unsigned number) |
Adds number to string. | |
Private Attributes | |
SensitivePMT * | m_sensitivePMT = 0 |
Sensitive vol. | |
SensitiveBar * | m_sensitiveBar = 0 |
Sensitive vol. | |
BkgSensitiveDetector * | m_sensitivePCB1 = 0 |
PCB sensitive for BG studies. | |
BkgSensitiveDetector * | m_sensitivePCB2 = 0 |
PCB sensitive for BG studies. | |
TOPGeometryPar * | m_topgp = TOPGeometryPar::Instance() |
singleton class | |
int | m_isBeamBkgStudy = 0 |
flag for beam backgound simulation | |
G4UnionSolid * | m_moduleEnvelope = 0 |
module envelope solid | |
G4AssemblyVolume * | m_qbb = 0 |
QBB assembly volume. | |
G4AssemblyVolume * | m_frontEnd = 0 |
front-end electronics assembly volume | |
int | m_numDecoupledPMTs = 0 |
number of optically decoupled PMT's | |
int | m_numBrokenGlues = 0 |
number of broken glues | |
int | m_numPeelOffRegions = 0 |
number of peel-off regions | |
Geometry creator for TOP counter.
Definition at line 40 of file GeoTOPCreator.h.
|
private |
|
private |
GeoTOPCreator | ( | ) |
|
virtual |
Destructor.
Definition at line 70 of file GeoTOPCreator.cc.
|
private |
Adds number to string.
str | string |
number | number to be added |
Definition at line 1040 of file GeoTOPCreator.cc.
|
private |
Assembles front-end electronics.
geo | geometry description |
N | number of board stacks per module |
Definition at line 278 of file GeoTOPCreator.cc.
|
private |
Assembles optical components (PMT array, prism and bar segments) along z.
geo | geometry description |
Definition at line 593 of file GeoTOPCreator.cc.
|
private |
Assembles QBB.
geo | geometry description |
Definition at line 373 of file GeoTOPCreator.cc.
|
overridevirtual |
Creation of the detector geometry from Gearbox (XML).
[in] | content | XML data directory. |
[in] | topVolume | Geant world volume. |
[in] | type | Geometry type. |
Implements CreatorBase.
Definition at line 80 of file GeoTOPCreator.cc.
|
private |
Creates quartz bar segment.
geo | geometry description |
moduleID | module ID (e.g. slot number) |
Definition at line 658 of file GeoTOPCreator.cc.
|
private |
Creates board stack.
geo | geometry description |
N | number of board stacks per module |
Definition at line 331 of file GeoTOPCreator.cc.
|
private |
Creates material box.
name | volume name |
A | box x size |
B | box y size |
C | box z size |
materialName | material name |
Definition at line 982 of file GeoTOPCreator.cc.
|
private |
Creates material volume that is intersection of box and half-sphere shell (z > 0)
name | volume name |
box | box shape |
Rmin | minimal radius of sphere shell |
Rmax | maximal radius of sphere shell |
xc | center of a sphere in x |
yc | center of a sphere in y |
zc | center of a sphere in z |
materialName | material name |
Definition at line 994 of file GeoTOPCreator.cc.
|
private |
Creates material extruded solid.
name | volume name |
shape | x-y shape of extruded solid |
length | length in z |
materialName | material name |
Definition at line 1023 of file GeoTOPCreator.cc.
|
overridevirtual |
Creation of the detector geometry from database.
[in] | name | Name of the component in the database. |
[in] | topVolume | Geant world volume. |
[in] | type | Geometry type. |
Reimplemented from CreatorBase.
Definition at line 120 of file GeoTOPCreator.cc.
|
private |
Create the geometry from a parameter object.
Definition at line 137 of file GeoTOPCreator.cc.
|
private |
Creates honeycomb panel.
geo | geometry description |
type | panel type |
Definition at line 493 of file GeoTOPCreator.cc.
|
private |
Creates quartz segment with spherical mirror.
geo | geometry description |
moduleID | module ID (e.g. slot number) |
Definition at line 700 of file GeoTOPCreator.cc.
|
private |
Creates single module.
geo | geometry description |
moduleID | module ID (slot number) |
Definition at line 202 of file GeoTOPCreator.cc.
|
private |
Creates module envelope.
geo | geometry description |
moduleID | module ID (slot number) |
Definition at line 242 of file GeoTOPCreator.cc.
|
overridevirtual |
Creation of payloads.
content | XML data directory. |
iov | Interval of validity. |
Reimplemented from CreatorBase.
Definition at line 98 of file GeoTOPCreator.cc.
|
private |
Creates single PMT.
geo | geometry description |
Definition at line 905 of file GeoTOPCreator.cc.
|
private |
Creates PMT array.
geo | geometry description |
moduleID | module ID (e.g. slot number) |
Definition at line 849 of file GeoTOPCreator.cc.
|
private |
Creates quartz prism.
geo | geometry description |
moduleID | module ID (e.g. slot number) |
Definition at line 765 of file GeoTOPCreator.cc.
|
private |
Creates side rail.
geo | geometry description |
type | side rail type |
Definition at line 556 of file GeoTOPCreator.cc.
|
private |
front-end electronics assembly volume
Definition at line 263 of file GeoTOPCreator.h.
|
private |
flag for beam backgound simulation
Definition at line 259 of file GeoTOPCreator.h.
|
private |
module envelope solid
Definition at line 261 of file GeoTOPCreator.h.
|
private |
number of broken glues
Definition at line 266 of file GeoTOPCreator.h.
|
private |
number of optically decoupled PMT's
Definition at line 265 of file GeoTOPCreator.h.
|
private |
number of peel-off regions
Definition at line 267 of file GeoTOPCreator.h.
|
private |
QBB assembly volume.
Definition at line 262 of file GeoTOPCreator.h.
|
private |
|
private |
PCB sensitive for BG studies.
Definition at line 256 of file GeoTOPCreator.h.
|
private |
PCB sensitive for BG studies.
Definition at line 257 of file GeoTOPCreator.h.
|
private |
|
private |
singleton class
Definition at line 258 of file GeoTOPCreator.h.