Belle II Software  release-08-01-10
GeoCOILCreator.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 GEOCOILCREATOR_H
10 #define GEOCOILCREATOR_H
11 
12 #include <geometry/CreatorBase.h>
13 #include <framework/gearbox/GearDir.h>
14 
15 #include <framework/database/IntervalOfValidity.h>
16 
17 #include <structure/dbobjects/COILGeometryPar.h>
18 
19 #include <string>
20 #include <vector>
21 
22 class G4LogicalVolume;
23 class G4VisAttributes;
24 //class G4Polycone
25 
26 namespace Belle2 {
32  namespace coil {
33 
35 
39 
40  public:
41 
44 
46  virtual ~GeoCOILCreator();
47 
48 
50 
56  virtual void create(const GearDir& content, G4LogicalVolume& topVolume, geometry::GeometryTypes type) override;
57 
60  virtual void createPayloads(const GearDir& content, const IntervalOfValidity& iov) override;
61 
63  virtual void createFromDB(const std::string& name, G4LogicalVolume& topVolume, geometry::GeometryTypes type) override;
64 
65 
66  protected:
67 
68  private:
69 
71 
76 
77 
79 
83  virtual void createGeometry(const COILGeometryPar& parameters, G4LogicalVolume& topVolume, geometry::GeometryTypes);
84 
86  std::vector<G4VisAttributes*> m_VisAttributes;
87 
88  };
89  }
91 }
92 
93 #endif /* GEOCOILCREATOR_H */
The Class for COIL geometry parameters.
GearDir is the basic class used for accessing the parameter store.
Definition: GearDir.h:31
A class that describes the interval of experiments/runs for which an object in the database is valid.
The GeoCoilCreator class.
virtual void createFromDB(const std::string &name, G4LogicalVolume &topVolume, geometry::GeometryTypes type) override
Create the geometry from the Database.
std::vector< G4VisAttributes * > m_VisAttributes
Vector of pointers to G4VisAttributes.
COILGeometryPar readConfiguration(const GearDir &param)
Creates a parameter object from the Gearbox XML parameters.
virtual void createPayloads(const GearDir &content, const IntervalOfValidity &iov) override
Create the configuration objects and save them in the Database.
GeoCOILCreator()
Constructor of the GeoCOILCreator class.
virtual ~GeoCOILCreator()
The destructor of the GeoCOILCreator class.
virtual void createGeometry(const COILGeometryPar &parameters, G4LogicalVolume &topVolume, geometry::GeometryTypes)
Creates the ROOT Objects for the coil geometry.
virtual void create(const GearDir &content, G4LogicalVolume &topVolume, geometry::GeometryTypes type) override
Creates the Geant4 objects for the structure geometry from Gearbox.
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.