Belle II Software light-2406-ragdoll
CreatorBase Class Referenceabstract

Pure virtual base class for all geometry creators. More...

#include <CreatorBase.h>

Inheritance diagram for CreatorBase:

Public Member Functions

 BELLE2_DEFINE_EXCEPTION (DBNotImplemented, "Cannot create geometry from Database.")
 Exception that will be thrown in createFromDB if member is not yet implemented by creator.
 
 CreatorBase ()
 Default Constructor.
 
virtual ~CreatorBase ()
 Default Destructor.
 
virtual void create (const GearDir &content, G4LogicalVolume &topVolume, GeometryTypes type)=0
 Function to actually create the geometry, has to be overridden by derived classes.
 
virtual void createFromDB (const std::string &name, G4LogicalVolume &topVolume, GeometryTypes type)
 Function to create the geometry from the Database.
 
virtual void createPayloads (const GearDir &content, const IntervalOfValidity &iov)
 Function to create the geometry database.
 

Detailed Description

Pure virtual base class for all geometry creators.

Definition at line 28 of file CreatorBase.h.

Constructor & Destructor Documentation

◆ CreatorBase()

CreatorBase ( )
inline

Default Constructor.

Definition at line 33 of file CreatorBase.h.

33{}

◆ ~CreatorBase()

virtual ~CreatorBase ( )
inlinevirtual

Default Destructor.

Definition at line 35 of file CreatorBase.h.

35{}

Member Function Documentation

◆ create()

virtual void create ( const GearDir content,
G4LogicalVolume &  topVolume,
GeometryTypes  type 
)
pure virtual

Function to actually create the geometry, has to be overridden by derived classes.

Parameters
contentGearDir pointing to the parameters which should be used for construction
topVolumeTop volume in which the geometry has to be placed
typeType of geometry to be build

Implemented in GeoMagneticField, MyDBCreator, and AWESOMEGeometryCreator.

◆ createFromDB()

void createFromDB ( const std::string &  name,
G4LogicalVolume &  topVolume,
GeometryTypes  type 
)
virtual

Function to create the geometry from the Database.

Parameters
namename of the component in the database, could be used to disambiguate multiple components created with the same creator
topVolumeTop volume in which the geometry has to be placed
typeType of geometry to be build

Reimplemented in GeoMagneticField, and MyDBCreator.

Definition at line 17 of file CreatorBase.cc.

18 {
19 //Do nothing but raise exception that we don't do anything
20 throw DBNotImplemented();
21 }

◆ createPayloads()

void createPayloads ( const GearDir content,
const IntervalOfValidity iov 
)
virtual

Function to create the geometry database.

This function should be implemented to convert Gearbox parameters to one ore more database payloads

Parameters
contentGearDir pointing to the parameters which should be used for construction
iovinterval of validity to use when generating payloads

Reimplemented in GeoMagneticField, and MyDBCreator.

Definition at line 24 of file CreatorBase.cc.

24{}

The documentation for this class was generated from the following files: