Belle II Software  release-05-02-19
DetectorConstruction.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Martin Ritter *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #ifndef DETECTORCONSTRUCTION_H
12 #define DETECTORCONSTRUCTION_H
13 
14 #include <framework/logging/Logger.h>
15 #include <geometry/GeometryManager.h>
16 #include "G4VUserDetectorConstruction.hh"
17 
18 namespace Belle2 {
30  class DetectorConstruction: public G4VUserDetectorConstruction {
31  public:
33  G4VPhysicalVolume* Construct()
34  {
35  G4VPhysicalVolume* topVolume = geometry::GeometryManager::getInstance().getTopVolume();
36  if (!topVolume) B2FATAL("No Geometry defined, please create the geometry"
37  " before doing simulation, normally by using the Geometry module.");
38  return topVolume;
39  }
40  };
41 
43 } //Belle2 namespace
44 #endif
Belle2::DetectorConstruction::Construct
G4VPhysicalVolume * Construct()
Return pointer to top volume.
Definition: DetectorConstruction.h:41
Belle2::geometry::GeometryManager::getTopVolume
G4VPhysicalVolume * getTopVolume()
Return a pointer to the top volume.
Definition: GeometryManager.h:59
Belle2::geometry::GeometryManager::getInstance
static GeometryManager & getInstance()
Return a reference to the instance.
Definition: GeometryManager.cc:98
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19