Belle II Software  release-08-01-10
CLAWSCreator.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 CLAWSCREATOR_H_
10 #define CLAWSCREATOR_H_
11 
12 #include <geometry/CreatorBase.h>
13 #include <simulation/kernel/SensitiveDetectorBase.h>
14 
15 class G4LogicalVolume;
16 class G4Material;
17 class G4UserLimits;
18 
19 
20 namespace Belle2 {
26  namespace claws {
27 
30  public:
35  CLAWSCreator(Simulation::SensitiveDetectorBase* sensitive = nullptr);
39  virtual ~CLAWSCreator();
49  void createShape(const std::string& prefix, const GearDir& params,
50  G4LogicalVolume* parent, double roffset, bool check);
51 
58  virtual void create(const GearDir& content, G4LogicalVolume& topVolume,
60  protected:
64  G4Material* m_topMaterial{nullptr};
66  G4UserLimits* m_stepLength{nullptr};
67  };
68 
69  }
71 }
72 
73 #endif /* CLAWSCREATOR_H_ */
GearDir is the basic class used for accessing the parameter store.
Definition: GearDir.h:31
Base class for all Sensitive Detectors to create hits during simulation.
The creator for the CLAWS geometry.
Definition: CLAWSCreator.h:29
void createShape(const std::string &prefix, const GearDir &params, G4LogicalVolume *parent, double roffset, bool check)
create a shape (box or cylinder) from XML description and place all child shapes in it by recursively...
Definition: CLAWSCreator.cc:49
virtual ~CLAWSCreator()
Destructor.
Definition: CLAWSCreator.cc:43
virtual void create(const GearDir &content, G4LogicalVolume &topVolume, geometry::GeometryTypes type)
Creation of the detector geometry from Gearbox (XML).
CLAWSCreator(Simulation::SensitiveDetectorBase *sensitive=nullptr)
Constructor.
Definition: CLAWSCreator.cc:36
G4UserLimits * m_stepLength
pointer to the G4Userlimits to set for sensitive volumes (if any)
Definition: CLAWSCreator.h:66
Simulation::SensitiveDetectorBase * m_sensitive
pointer to the sensitive detector implementation
Definition: CLAWSCreator.h:62
G4Material * m_topMaterial
pointer to the material in the top volume to use as default
Definition: CLAWSCreator.h:64
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.