Belle II Software  release-05-01-25
GeoEKLMCreator.h
Go to the documentation of this file.
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Galina Pakhlova, Timofey Uglov, Kirill Chilikin *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 /* KLM headers. */
14 #include <klm/eklm/simulation/EKLMSensitiveDetector.h>
15 #include <klm/eklm/geometry/GeometryData.h>
16 #include <klm/eklm/geometry/TransformData.h>
17 
18 /* Belle 2 headers. */
19 #include <framework/gearbox/GearDir.h>
20 #include <geometry/CreatorBase.h>
21 
22 /* C++ headers. */
23 #include <string>
24 
25 /* Geant4 headers. */
26 #include <G4Box.hh>
27 #include <G4LogicalVolume.hh>
28 #include <G4Material.hh>
29 #include <G4SubtractionSolid.hh>
30 #include <G4Transform3D.hh>
31 #include <G4Tubs.hh>
32 
38 namespace Belle2 {
44  namespace EKLM {
45 
50  G4VSolid* itube;
51  G4VSolid* otube;
52  };
53 
58  G4LogicalVolume* corn1;
59  G4LogicalVolume* corn2;
60  G4LogicalVolume* corn3;
61  G4LogicalVolume* corn4;
62  G4LogicalVolume* supp;
63  };
64 
69  G4LogicalVolume* detailA;
70  G4LogicalVolume* detailB;
71  G4LogicalVolume* detailC;
72  G4LogicalVolume* detailD;
73  };
74 
115  struct Solids {
116  G4VSolid* section;
117  G4VSolid* layer;
118  G4VSolid* sector;
119  G4VSolid* secsupp;
120  G4VSolid** plane;
121  G4VSolid** stripSegment;
123  G4VSolid** psheet;
124  G4VSolid** strip;
125  G4VSolid** groove;
128  };
129 
170  struct LogicalVolumes {
171  G4LogicalVolume* shieldLayer;
172  G4LogicalVolume* shieldLayerSector;
173  G4LogicalVolume* cover;
174  G4LogicalVolume** segment;
175  G4LogicalVolume** stripSegment;
176  G4LogicalVolume** strip;
177  G4LogicalVolume** groove;
178  G4LogicalVolume** scint;
179  G4LogicalVolume** psheet;
180  G4LogicalVolume*** segmentsup;
183  };
184 
188  struct Materials {
189  G4Material* air;
190  G4Material* polyethylene;
191  G4Material* polystyrene;
192  G4Material* polystyrol;
193  G4Material* iron;
194  G4Material* duralumin;
195  G4Material* silicon;
196  G4Material* gel;
197  };
198 
202  struct VolumeNumbers {
203  int section;
204  int layer;
205  int sector;
206  int plane;
207  int segment;
208  int strip;
209  };
210 
216 
217  public:
218 
222  GeoEKLMCreator();
223 
227  ~GeoEKLMCreator();
228 
235  void create(const GearDir& content, G4LogicalVolume& topVolume,
236  geometry::GeometryTypes type) override;
237 
244  void createFromDB(const std::string& name, G4LogicalVolume& topVolume,
245  geometry::GeometryTypes type) override;
246 
252  void createPayloads(const GearDir& content,
253  const IntervalOfValidity& iov) override;
254 
255  private:
256 
260  void createMaterials();
261 
265  void readXMLDataStrips();
266 
270  void createSectionSolid();
271 
277  G4LogicalVolume* createLayerLogicalVolume(const char* name) const;
278 
282  void createLayerSolid();
283 
289  G4LogicalVolume* createSectorLogicalVolume(const char* name) const;
290 
294  void createSectorSolid();
295 
300 
305 
310 
317  G4Box* createSectorSupportBoxX(G4Transform3D& t);
318 
325  G4Box* createSectorSupportBoxY(G4Transform3D& t);
326 
333  G4Box* createSectorSupportBoxTop(G4Transform3D& t);
334 
339 
344 
349 
354 
359 
364 
377  G4SubtractionSolid* cutSolidCorner(
378  const char* name, G4VSolid* solid, G4Box* subtractionBox,
379  HepGeom::Transform3D& transf, bool largerAngles,
380  double x1, double y1, double x2, double y2);
381 
393  G4SubtractionSolid* cutSolidCorner(
394  const char* name, G4VSolid* solid, G4Box* subtractionBox,
395  HepGeom::Transform3D& transf, bool largerAngles,
396  double x, double y, double ang);
397 
402  void createPlaneSolid(int n);
403 
409  void createSegmentSupportLogicalVolume(int iPlane, int iSegmentSupport);
410 
418  G4VSolid* unifySolids(G4VSolid** solids, HepGeom::Transform3D* transf,
419  int nSolids, const std::string& name);
420 
425  void createPlasticSheetLogicalVolume(int iSegment);
426 
431  void createStripSegmentLogicalVolume(int iSegment);
432 
437  void createSegmentLogicalVolume(int iSegment);
438 
443  void createStripLogicalVolume(int iStrip);
444 
449  void createStripGrooveLogicalVolume(int iStrip);
450 
455  void createScintillatorLogicalVolume(int iStrip);
456 
461 
466 
471 
476 
480  void createSolids();
481 
488  bool detectorLayer(int section, int layer) const;
489 
495  G4LogicalVolume* createSection(G4LogicalVolume* topVolume) const;
496 
507  G4LogicalVolume* createLayer(G4LogicalVolume* section,
508  G4LogicalVolume* layer) const;
509 
520  G4LogicalVolume* createSector(G4LogicalVolume* layer,
521  G4LogicalVolume* sector) const;
522 
528  void createSectorCover(int iCover, G4LogicalVolume* sector) const;
529 
534  void createSectorSupport(G4LogicalVolume* sector) const;
535 
540  void createSectorSupportCorner1(G4LogicalVolume* sector) const;
541 
546  void createSectorSupportCorner2(G4LogicalVolume* sector) const;
547 
552  void createSectorSupportCorner3(G4LogicalVolume* sector) const;
553 
558  void createSectorSupportCorner4(G4LogicalVolume* sector) const;
559 
565  G4LogicalVolume* createPlane(G4LogicalVolume* sector) const;
566 
572  void createSegmentSupport(int iSegmentSupport,
573  G4LogicalVolume* plane) const;
574 
580  void createPlasticSheet(int iSheetPlane, int iSheet) const;
581 
586  void createStripSegment(int iSegment) const;
587 
592  void createSegment(G4LogicalVolume* plane) const;
593 
598  void createStrip(G4LogicalVolume* segment) const;
599 
604  void createStripGroove(int iStrip) const;
605 
610  void createScintillator(int iStrip) const;
611 
616  void createShield(G4LogicalVolume* sector) const;
617 
621  void newVolumes();
622 
626  void newSensitive();
627 
631  void deleteVolumes();
632 
636  void deleteSensitive();
637 
643 
648  void create(G4LogicalVolume& topVolume);
649 
651  struct Solids m_Solids;
652 
655 
658 
661 
664 
667 
670 
673 
674  };
675 
676  }
677 
679 }
Belle2::IntervalOfValidity
A class that describes the interval of experiments/runs for which an object in the database is valid.
Definition: IntervalOfValidity.h:35
Belle2::EKLM::LogicalVolumes::stripSegment
G4LogicalVolume ** stripSegment
Definition: GeoEKLMCreator.h:175
Belle2::EKLM::VolumeNumbers
Volume numbers.
Definition: GeoEKLMCreator.h:202
Belle2::EKLM::LogicalVolumes::segmentsup
G4LogicalVolume *** segmentsup
Definition: GeoEKLMCreator.h:180
Belle2::EKLM::GeoEKLMCreator::deleteSensitive
void deleteSensitive()
Delete sensitive detectors.
Definition: GeoEKLMCreator.cc:172
Belle2::EKLM::SectorSupportLogicalVolumes::supp
G4LogicalVolume * supp
Support.
Definition: GeoEKLMCreator.h:62
Belle2::EKLM::Materials::polystyrene
G4Material * polystyrene
Polystyrene.
Definition: GeoEKLMCreator.h:191
Belle2::EKLM::GeoEKLMCreator::createSectorSupportLogicalVolume
void createSectorSupportLogicalVolume()
Create sector support logical volume.
Definition: GeoEKLMCreator.cc:675
Belle2::EKLM::Solids::layer
G4VSolid * layer
Definition: GeoEKLMCreator.h:117
Belle2::EKLM::GeoEKLMCreator::createSectorSupportCorner4LogicalVolume
void createSectorSupportCorner4LogicalVolume()
Create sector support corner 4 logical volume.
Definition: GeoEKLMCreator.cc:638
Belle2::EKLM::VolumeNumbers::section
int section
Section.
Definition: GeoEKLMCreator.h:203
Belle2::EKLM::GeoEKLMCreator::createSection
G4LogicalVolume * createSection(G4LogicalVolume *topVolume) const
Create section.
Definition: GeoEKLMCreator.cc:1477
Belle2::EKLM::GeoEKLMCreator::cutSolidCorner
G4SubtractionSolid * cutSolidCorner(const char *name, G4VSolid *solid, G4Box *subtractionBox, HepGeom::Transform3D &transf, bool largerAngles, double x1, double y1, double x2, double y2)
Cut corner of a solid.
Definition: GeoEKLMCreator.cc:761
Belle2::EKLM::GeoEKLMCreator::createSegmentSupport
void createSegmentSupport(int iSegmentSupport, G4LogicalVolume *plane) const
Create segment support.
Definition: GeoEKLMCreator.cc:1677
Belle2::EKLM::TransformData
Transformation data.
Definition: TransformData.h:37
Belle2::EKLM::GeoEKLMCreator::createShieldDetailALogicalVolume
void createShieldDetailALogicalVolume()
Create shield detail A logical volume.
Definition: GeoEKLMCreator.cc:1248
Belle2::EKLM::Solids::plasticSheetElement
G4VSolid ** plasticSheetElement
Definition: GeoEKLMCreator.h:122
Belle2::EKLM::GeoEKLMCreator::createStripGroove
void createStripGroove(int iStrip) const
Create strip groove.
Definition: GeoEKLMCreator.cc:1772
Belle2::EKLM::LogicalVolumes::cover
G4LogicalVolume * cover
Definition: GeoEKLMCreator.h:173
Belle2::EKLMElementNumbers
EKLM element numbers.
Definition: EKLMElementNumbers.h:34
Belle2::EKLM::SectorSupportSolids::otube
G4VSolid * otube
Outer tube.
Definition: GeoEKLMCreator.h:51
Belle2::EKLM::Solids::sectorsup
struct SectorSupportSolids sectorsup
Definition: GeoEKLMCreator.h:127
Belle2::EKLM::GeoEKLMCreator::createLayerLogicalVolume
G4LogicalVolume * createLayerLogicalVolume(const char *name) const
Create layer logical volume.
Definition: GeoEKLMCreator.cc:231
Belle2::EKLM::GeoEKLMCreator::createSubtractionBoxSolid
void createSubtractionBoxSolid()
Create subtraction box solid.
Definition: GeoEKLMCreator.cc:746
Belle2::EKLM::GeoEKLMCreator::detectorLayer
bool detectorLayer(int section, int layer) const
Check if a given layer is a detector layer.
Definition: GeoEKLMCreator.cc:1865
Belle2::EKLM::GeoEKLMCreator::createShieldDetailCLogicalVolume
void createShieldDetailCLogicalVolume()
Create shield detail C logical volume.
Definition: GeoEKLMCreator.cc:1342
Belle2::EKLM::Solids::subtractionBox
G4Box * subtractionBox
Definition: GeoEKLMCreator.h:126
Belle2::EKLM::VolumeNumbers::sector
int sector
Sector.
Definition: GeoEKLMCreator.h:205
Belle2::EKLM::GeoEKLMCreator::createSegmentSupportLogicalVolume
void createSegmentSupportLogicalVolume(int iPlane, int iSegmentSupport)
Create segment support logical volume.
Definition: GeoEKLMCreator.cc:878
Belle2::EKLM::Materials::silicon
G4Material * silicon
Silicon.
Definition: GeoEKLMCreator.h:195
Belle2::EKLM::Solids::secsupp
G4VSolid * secsupp
Definition: GeoEKLMCreator.h:119
Belle2::EKLM::Materials::air
G4Material * air
Air.
Definition: GeoEKLMCreator.h:189
Belle2::EKLM::Solids::psheet
G4VSolid ** psheet
Definition: GeoEKLMCreator.h:123
Belle2::EKLM::VolumeNumbers::layer
int layer
Layer.
Definition: GeoEKLMCreator.h:204
Belle2::EKLM::ShieldLogicalVolumes::detailA
G4LogicalVolume * detailA
Detail A.
Definition: GeoEKLMCreator.h:69
Belle2::EKLM::GeoEKLMCreator::create
void create(const GearDir &content, G4LogicalVolume &topVolume, geometry::GeometryTypes type) override
Creation of the detector geometry from Gearbox (XML).
Definition: GeoEKLMCreator.cc:1949
Belle2::EKLM::VolumeNumbers::segment
int segment
Segment.
Definition: GeoEKLMCreator.h:207
Belle2::EKLM::Materials::iron
G4Material * iron
Iron.
Definition: GeoEKLMCreator.h:193
Belle2::EKLM::GeoEKLMCreator::createSectorSupportCorner4
void createSectorSupportCorner4(G4LogicalVolume *sector) const
Create sector support corner 4.
Definition: GeoEKLMCreator.cc:1618
Belle2::EKLM::ShieldLogicalVolumes::detailC
G4LogicalVolume * detailC
Detail C.
Definition: GeoEKLMCreator.h:71
Belle2::EKLM::GeoEKLMCreator::m_Sensitive
EKLMSensitiveDetector * m_Sensitive
Sensitive detector.
Definition: GeoEKLMCreator.h:672
Belle2::EKLM::SectorSupportSolids
Sector support solids.
Definition: GeoEKLMCreator.h:49
Belle2::EKLM::GeoEKLMCreator::createSectorSupportBoxX
G4Box * createSectorSupportBoxX(G4Transform3D &t)
Create X side of sector support structure.
Definition: GeoEKLMCreator.cc:352
Belle2::EKLM::GeoEKLMCreator::deleteVolumes
void deleteVolumes()
Delete volumes.
Definition: GeoEKLMCreator.cc:152
Belle2::EKLM::GeoEKLMCreator
Class GeoEKLMCreator.
Definition: GeoEKLMCreator.h:215
Belle2::EKLM::GeoEKLMCreator::createSolids
void createSolids()
Create solids (or logical volumes which must be created only once).
Definition: GeoEKLMCreator.cc:1423
Belle2::EKLM::GeoEKLMCreator::createSegment
void createSegment(G4LogicalVolume *plane) const
Create segment (strips + plastic sheets).
Definition: GeoEKLMCreator.cc:1737
Belle2::EKLM::GeoEKLMCreator::createStripGrooveLogicalVolume
void createStripGrooveLogicalVolume(int iStrip)
Create strip groove logical volume.
Definition: GeoEKLMCreator.cc:1177
Belle2::EKLM::Materials::gel
G4Material * gel
Gel.
Definition: GeoEKLMCreator.h:196
Belle2::EKLM::GeoEKLMCreator::createSectorCoverLogicalVolume
void createSectorCoverLogicalVolume()
Create sector cover solid.
Definition: GeoEKLMCreator.cc:281
Belle2::EKLM::GeoEKLMCreator::m_Solids
struct Solids m_Solids
Solids.
Definition: GeoEKLMCreator.h:651
Belle2::EKLM::Solids::section
G4VSolid * section
Definition: GeoEKLMCreator.h:116
Belle2::EKLM::GeoEKLMCreator::createSectorSupportCorner3
void createSectorSupportCorner3(G4LogicalVolume *sector) const
Create sector support corner 3.
Definition: GeoEKLMCreator.cc:1600
Belle2::EKLM::GeoEKLMCreator::createShieldDetailBLogicalVolume
void createShieldDetailBLogicalVolume()
Create shield detail B logical volume.
Definition: GeoEKLMCreator.cc:1301
Belle2::EKLM::VolumeNumbers::plane
int plane
Plane.
Definition: GeoEKLMCreator.h:206
Belle2::EKLM::GeoEKLMCreator::newSensitive
void newSensitive()
Create new sensitive detectors.
Definition: GeoEKLMCreator.cc:142
Belle2::EKLM::LogicalVolumes::scint
G4LogicalVolume ** scint
Definition: GeoEKLMCreator.h:178
Belle2::EKLM::GeoEKLMCreator::createSectorSupportCorner1LogicalVolume
void createSectorSupportCorner1LogicalVolume()
Create sector support corner 1 logical volume.
Definition: GeoEKLMCreator.cc:485
Belle2::EKLM::GeoEKLMCreator::readXMLDataStrips
void readXMLDataStrips()
Read strip parameters from XML database.
Belle2::EKLM::Solids
Definition: GeoEKLMCreator.h:115
Belle2::EKLM::GeoEKLMCreator::createSectorSupportInnerTube
G4Tubs * createSectorSupportInnerTube()
Create inner tube of sector support structure.
Definition: GeoEKLMCreator.cc:433
Belle2::EKLM::GeoEKLMCreator::createSectorSupportCorner2
void createSectorSupportCorner2(G4LogicalVolume *sector) const
Create sector support corner 2.
Definition: GeoEKLMCreator.cc:1582
Belle2::EKLM::GeoEKLMCreator::createSectorSupportBoxY
G4Box * createSectorSupportBoxY(G4Transform3D &t)
Create Y side of sector support structure.
Definition: GeoEKLMCreator.cc:376
Belle2::EKLM::GeoEKLMCreator::createPlasticSheet
void createPlasticSheet(int iSheetPlane, int iSheet) const
Create plastic sheet.
Definition: GeoEKLMCreator.cc:1700
Belle2::EKLM::LogicalVolumes::shield
struct ShieldLogicalVolumes shield
Definition: GeoEKLMCreator.h:182
Belle2::EKLM::SectorSupportLogicalVolumes::corn2
G4LogicalVolume * corn2
Corner 2.
Definition: GeoEKLMCreator.h:59
Belle2::EKLM::Solids::strip
G4VSolid ** strip
Definition: GeoEKLMCreator.h:124
Belle2::EKLM::Materials
Materials for EKLM.
Definition: GeoEKLMCreator.h:188
Belle2::EKLM::GeoEKLMCreator::createShield
void createShield(G4LogicalVolume *sector) const
Create shield.
Definition: GeoEKLMCreator.cc:1805
Belle2::EKLM::GeoEKLMCreator::createFromDB
void createFromDB(const std::string &name, G4LogicalVolume &topVolume, geometry::GeometryTypes type) override
Creation of the detector geometry from database.
Definition: GeoEKLMCreator.cc:1967
Belle2::EKLM::GeoEKLMCreator::createLayerSolid
void createLayerSolid()
Create layer solid.
Definition: GeoEKLMCreator.cc:243
Belle2::EKLM::GeoEKLMCreator::createSectorSupportCorner1
void createSectorSupportCorner1(G4LogicalVolume *sector) const
Create sector support corner 1.
Definition: GeoEKLMCreator.cc:1566
Belle2::EKLM::Solids::sector
G4VSolid * sector
Definition: GeoEKLMCreator.h:118
Belle2::EKLM::SectorSupportLogicalVolumes::corn4
G4LogicalVolume * corn4
Corner 4.
Definition: GeoEKLMCreator.h:61
Belle2::EKLM::SectorSupportLogicalVolumes::corn1
G4LogicalVolume * corn1
Corner 1.
Definition: GeoEKLMCreator.h:58
Belle2::EKLM::GeoEKLMCreator::createPlaneSolid
void createPlaneSolid(int n)
Create plane solid.
Definition: GeoEKLMCreator.cc:797
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::EKLM::GeoEKLMCreator::m_ElementNumbers
const EKLMElementNumbers * m_ElementNumbers
Element numbers.
Definition: GeoEKLMCreator.h:663
Belle2::EKLM::GeoEKLMCreator::createScintillator
void createScintillator(int iStrip) const
Create scintillator.
Definition: GeoEKLMCreator.cc:1790
Belle2::EKLM::GeoEKLMCreator::createSectorSupportOuterTube
G4Tubs * createSectorSupportOuterTube()
Create outer tube of sector support structure.
Definition: GeoEKLMCreator.cc:458
Belle2::EKLM::GeoEKLMCreator::createStrip
void createStrip(G4LogicalVolume *segment) const
Create strip.
Definition: GeoEKLMCreator.cc:1755
Belle2::GearDir
GearDir is the basic class used for accessing the parameter store.
Definition: GearDir.h:41
Belle2::EKLM::ShieldLogicalVolumes::detailB
G4LogicalVolume * detailB
Detail B.
Definition: GeoEKLMCreator.h:70
Belle2::EKLM::Solids::stripSegment
G4VSolid ** stripSegment
Definition: GeoEKLMCreator.h:121
Belle2::EKLM::GeoEKLMCreator::createScintillatorLogicalVolume
void createScintillatorLogicalVolume(int iStrip)
Create scintillator logical volume.
Definition: GeoEKLMCreator.cc:1204
Belle2::EKLM::SectorSupportSolids::itube
G4VSolid * itube
Inner tube.
Definition: GeoEKLMCreator.h:50
Belle2::EKLM::Materials::polystyrol
G4Material * polystyrol
Polystyrol.
Definition: GeoEKLMCreator.h:192
Belle2::EKLM::Materials::duralumin
G4Material * duralumin
Duralumin.
Definition: GeoEKLMCreator.h:194
Belle2::EKLM::GeoEKLMCreator::createShieldDetailDLogicalVolume
void createShieldDetailDLogicalVolume()
Create shield detail D logical volume.
Definition: GeoEKLMCreator.cc:1395
Belle2::EKLM::Materials::polyethylene
G4Material * polyethylene
Polyethylene.
Definition: GeoEKLMCreator.h:190
Belle2::EKLM::GeoEKLMCreator::createPlasticSheetLogicalVolume
void createPlasticSheetLogicalVolume(int iSegment)
Create plastic sheet logical volume.
Definition: GeoEKLMCreator.cc:1029
Belle2::EKLM::Solids::groove
G4VSolid ** groove
Definition: GeoEKLMCreator.h:125
Belle2::EKLM::ShieldLogicalVolumes
Shield logical volumes.
Definition: GeoEKLMCreator.h:68
Belle2::EKLM::ShieldLogicalVolumes::detailD
G4LogicalVolume * detailD
Detail D.
Definition: GeoEKLMCreator.h:72
Belle2::EKLM::GeometryData
EKLM geometry data.
Definition: GeometryData.h:40
Belle2::EKLM::GeoEKLMCreator::createSegmentLogicalVolume
void createSegmentLogicalVolume(int iSegment)
Create segment logical volume (strips + plastic sheets).
Definition: GeoEKLMCreator.cc:1113
Belle2::EKLM::GeoEKLMCreator::createMaterials
void createMaterials()
Creation of materials.
Definition: GeoEKLMCreator.cc:179
Belle2::EKLM::GeoEKLMCreator::createSectorCover
void createSectorCover(int iCover, G4LogicalVolume *sector) const
Create sector cover.
Definition: GeoEKLMCreator.cc:1544
Belle2::EKLM::GeoEKLMCreator::m_GeoDat
const GeometryData * m_GeoDat
Geometry data.
Definition: GeoEKLMCreator.h:669
Belle2::EKLM::GeoEKLMCreator::createSectorSupportBoxTop
G4Box * createSectorSupportBoxTop(G4Transform3D &t)
Create box in the cutted corner of sector support structure.
Definition: GeoEKLMCreator.cc:400
Belle2::EKLM::GeoEKLMCreator::createSectorLogicalVolume
G4LogicalVolume * createSectorLogicalVolume(const char *name) const
Create sector logical volume.
Definition: GeoEKLMCreator.cc:256
Belle2::EKLM::LogicalVolumes::strip
G4LogicalVolume ** strip
Definition: GeoEKLMCreator.h:176
Belle2::EKLM::GeoEKLMCreator::m_CurVol
struct VolumeNumbers m_CurVol
Current volumes.
Definition: GeoEKLMCreator.h:660
Belle2::EKLM::GeoEKLMCreator::unifySolids
G4VSolid * unifySolids(G4VSolid **solids, HepGeom::Transform3D *transf, int nSolids, const std::string &name)
Unify a group of solids.
Definition: GeoEKLMCreator.cc:953
Belle2::EKLM::GeoEKLMCreator::GeoEKLMCreator
GeoEKLMCreator()
Constructor.
Definition: GeoEKLMCreator.cc:48
Belle2::EKLM::LogicalVolumes::shieldLayerSector
G4LogicalVolume * shieldLayerSector
Definition: GeoEKLMCreator.h:172
Belle2::EKLM::LogicalVolumes::segment
G4LogicalVolume ** segment
Definition: GeoEKLMCreator.h:174
Belle2::EKLM::LogicalVolumes::sectorsup
struct SectorSupportLogicalVolumes sectorsup
Definition: GeoEKLMCreator.h:181
Belle2::EKLM::GeoEKLMCreator::m_TransformData
TransformData * m_TransformData
Transformation data.
Definition: GeoEKLMCreator.h:666
Belle2::EKLM::GeoEKLMCreator::createPayloads
void createPayloads(const GearDir &content, const IntervalOfValidity &iov) override
Creation of payloads.
Definition: GeoEKLMCreator.cc:1985
Belle2::EKLM::GeoEKLMCreator::createStripLogicalVolume
void createStripLogicalVolume(int iStrip)
Create strip logical volume.
Definition: GeoEKLMCreator.cc:1149
Belle2::EKLM::GeoEKLMCreator::getSectorSupportCornerAngle
double getSectorSupportCornerAngle()
Get cutted corner angle.
Belle2::EKLM::GeoEKLMCreator::createStripSegment
void createStripSegment(int iSegment) const
Create strip segment.
Definition: GeoEKLMCreator.cc:1724
Belle2::EKLM::LogicalVolumes
Definition: GeoEKLMCreator.h:170
Belle2::EKLM::GeoEKLMCreator::createLayer
G4LogicalVolume * createLayer(G4LogicalVolume *section, G4LogicalVolume *layer) const
Create layer.
Definition: GeoEKLMCreator.cc:1501
Belle2::EKLM::GeoEKLMCreator::m_Materials
struct Materials m_Materials
Materials.
Definition: GeoEKLMCreator.h:657
Belle2::geometry::CreatorBase
Pure virtual base class for all geometry creators.
Definition: CreatorBase.h:31
Belle2::EKLM::GeoEKLMCreator::createSectionSolid
void createSectionSolid()
Create section solid.
Definition: GeoEKLMCreator.cc:193
Belle2::EKLM::GeoEKLMCreator::newVolumes
void newVolumes()
Create new volumes.
Definition: GeoEKLMCreator.cc:77
Belle2::EKLM::Solids::plane
G4VSolid ** plane
Definition: GeoEKLMCreator.h:120
Belle2::EKLM::GeoEKLMCreator::createSector
G4LogicalVolume * createSector(G4LogicalVolume *layer, G4LogicalVolume *sector) const
Create sector.
Definition: GeoEKLMCreator.cc:1522
Belle2::EKLM::GeoEKLMCreator::createSectorSupportCorner2LogicalVolume
void createSectorSupportCorner2LogicalVolume()
Create sector support corner 2 logical volume.
Definition: GeoEKLMCreator.cc:563
Belle2::EKLM::LogicalVolumes::groove
G4LogicalVolume ** groove
Definition: GeoEKLMCreator.h:177
Belle2::EKLM::EKLMSensitiveDetector
The Class for EKLM Sensitive Detector.
Definition: EKLMSensitiveDetector.h:44
Belle2::EKLM::GeoEKLMCreator::createStripSegmentLogicalVolume
void createStripSegmentLogicalVolume(int iSegment)
Create strip segment logical volume.
Definition: GeoEKLMCreator.cc:1083
Belle2::EKLM::SectorSupportLogicalVolumes::corn3
G4LogicalVolume * corn3
Corner 3.
Definition: GeoEKLMCreator.h:60
Belle2::EKLM::SectorSupportLogicalVolumes
Sector support logical volumes.
Definition: GeoEKLMCreator.h:57
Belle2::EKLM::LogicalVolumes::psheet
G4LogicalVolume ** psheet
Definition: GeoEKLMCreator.h:179
Belle2::EKLM::VolumeNumbers::strip
int strip
Strip.
Definition: GeoEKLMCreator.h:208
Belle2::EKLM::GeoEKLMCreator::createSectorSupportCorner3LogicalVolume
void createSectorSupportCorner3LogicalVolume()
Create sector support corner 3 logical volume.
Definition: GeoEKLMCreator.cc:601
Belle2::EKLM::LogicalVolumes::shieldLayer
G4LogicalVolume * shieldLayer
Definition: GeoEKLMCreator.h:171
Belle2::geometry::GeometryTypes
GeometryTypes
Flag indiciating the type of geometry to be used.
Definition: GeometryManager.h:39
Belle2::EKLM::GeoEKLMCreator::m_LogVol
struct LogicalVolumes m_LogVol
Logical volumes.
Definition: GeoEKLMCreator.h:654
Belle2::EKLM::GeoEKLMCreator::createPlane
G4LogicalVolume * createPlane(G4LogicalVolume *sector) const
Create plane.
Definition: GeoEKLMCreator.cc:1652
Belle2::EKLM::GeoEKLMCreator::~GeoEKLMCreator
~GeoEKLMCreator()
Destructor.
Definition: GeoEKLMCreator.cc:66
Belle2::EKLM::GeoEKLMCreator::createSectorSolid
void createSectorSolid()
Create sector solid.
Definition: GeoEKLMCreator.cc:268
Belle2::EKLM::GeoEKLMCreator::createSectorSupport
void createSectorSupport(G4LogicalVolume *sector) const
Create sector support structure (main part without corners).
Definition: GeoEKLMCreator.cc:1636