Belle II Software  release-05-02-19
CreatorBase.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Andreas Moll, Martin Ritter *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #ifndef CREATORBASE_H
12 #define CREATORBASE_H
13 
14 #include <geometry/GeometryManager.h>
15 #include <framework/core/FrameworkExceptions.h>
16 
17 class G4LogicalVolume;
18 
19 namespace Belle2 {
25  class GearDir;
26  class IntervalOfValidity;
27 
28  namespace geometry {
29 
31  class CreatorBase {
32  public:
34  BELLE2_DEFINE_EXCEPTION(DBNotImplemented, "Cannot create geometry from Database.");
38  virtual ~CreatorBase() {}
39 
46  virtual void create(const GearDir& content, G4LogicalVolume& topVolume, GeometryTypes type) = 0;
47 
54  virtual void createFromDB(const std::string& name, G4LogicalVolume& topVolume, GeometryTypes type);
55 
61  virtual void createPayloads(const GearDir& content, const IntervalOfValidity& iov);
62  };
63  }
65 } //end of namespace Belle2
66 
67 #endif /* CREATORBASE_H */
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::geometry::CreatorBase::create
virtual void create(const GearDir &content, G4LogicalVolume &topVolume, GeometryTypes type)=0
Function to actually create the geometry, has to be overridden by derived classes.
Belle2::geometry::CreatorBase::~CreatorBase
virtual ~CreatorBase()
Default Destructor.
Definition: CreatorBase.h:38
Belle2::geometry::CreatorBase::createFromDB
virtual void createFromDB(const std::string &name, G4LogicalVolume &topVolume, GeometryTypes type)
Function to create the geometry from the Database.
Definition: CreatorBase.cc:27
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::GearDir
GearDir is the basic class used for accessing the parameter store.
Definition: GearDir.h:41
Belle2::geometry::CreatorBase::createPayloads
virtual void createPayloads(const GearDir &content, const IntervalOfValidity &iov)
Function to create the geometry database.
Definition: CreatorBase.cc:34
Belle2::geometry::CreatorBase::CreatorBase
CreatorBase()
Default Constructor.
Definition: CreatorBase.h:36
Belle2::geometry::CreatorBase
Pure virtual base class for all geometry creators.
Definition: CreatorBase.h:31
Belle2::geometry::CreatorBase::BELLE2_DEFINE_EXCEPTION
BELLE2_DEFINE_EXCEPTION(DBNotImplemented, "Cannot create geometry from Database.")
Exception that will be thrown in createFromDB if member is not yet implemented by creator.
Belle2::geometry::GeometryTypes
GeometryTypes
Flag indiciating the type of geometry to be used.
Definition: GeometryManager.h:39