Belle II Software  release-08-01-10
CsiCreator.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 
9 #ifndef CSICREATOR_H_
10 #define CSICREATOR_H_
11 
12 #include <geometry/CreatorBase.h>
13 #include <G4AssemblyVolume.hh>
14 #include <G4Transform3D.hh>
15 #include <string>
16 
17 class G4LogicalVolume;
18 
19 namespace Belle2 {
25  namespace csi {
26 
27  class SensitiveDetector;
28 
31  public:
35  CsiCreator();
39  virtual ~CsiCreator();
46  virtual void create(const GearDir& content, G4LogicalVolume& topVolume, geometry::GeometryTypes type);
47 
48  protected:
52  void BuildEnclosure(const GearDir& content, G4AssemblyVolume* assembly, std::string side, int iEnclosure);
53 
55  void PutCrystal(const GearDir& content, G4AssemblyVolume* assembly, G4Transform3D position, int iEnclosure, int iCry);
56  };
57  }
59 }
60 
61 #endif /* CSICREATOR_H_ */
GearDir is the basic class used for accessing the parameter store.
Definition: GearDir.h:31
The creator for the CSI geometry.
Definition: CsiCreator.h:30
virtual ~CsiCreator()
Destructor.
Definition: CsiCreator.cc:59
void BuildEnclosure(const GearDir &content, G4AssemblyVolume *assembly, std::string side, int iEnclosure)
Builds the crystals enclosures.
Definition: CsiCreator.cc:213
void PutCrystal(const GearDir &content, G4AssemblyVolume *assembly, G4Transform3D position, int iEnclosure, int iCry)
Builds the crystals and their wrapping (foil)
Definition: CsiCreator.cc:112
virtual void create(const GearDir &content, G4LogicalVolume &topVolume, geometry::GeometryTypes type)
Creation of the detector geometry from Gearbox (XML).
Definition: CsiCreator.cc:64
SensitiveDetector * m_sensitive
SensitiveDetector CSI.
Definition: CsiCreator.h:49
CsiCreator()
Constructor.
Definition: CsiCreator.cc:54
Sensitive Detector implementation of the CSI detector.
Pure virtual base class for all geometry creators.
Definition: CreatorBase.h:28
GeometryTypes
Flag indiciating the type of geometry to be used.
Abstract base class for different kinds of events.