DD4hep - The AIDA detector description toolkit for high energy physics experiments
DD4hep  Rev:Unversioneddirectory
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Geant4Converter.h
Go to the documentation of this file.
1 // $Id$
2 //==========================================================================
3 // AIDA Detector description implementation for LCD
4 //--------------------------------------------------------------------------
5 // Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN)
6 // All rights reserved.
7 //
8 // For the licensing terms see $DD4hepINSTALL/LICENSE.
9 // For the list of contributors see $DD4hepINSTALL/doc/CREDITS.
10 //
11 // Author : M.Frank
12 //
13 //==========================================================================
14 #ifndef DD4HEP_GEANT4CONVERTER_H
15 #define DD4HEP_GEANT4CONVERTER_H
16 
17 // Framework include files
18 #include "DD4hep/Printout.h"
19 #include "DDG4/Geant4Mapping.h"
20 
22 namespace DD4hep {
23 
25  namespace Simulation {
26 
28 
34  public:
37 
40 
43 
45  virtual ~Geant4Converter();
46 
49 
51  virtual void* handleMaterial(const std::string& name, Material medium) const;
52 
54  virtual void* handleElement(const std::string& name, Atom element) const;
55 
57  virtual void* handleSolid(const std::string& name, const TGeoShape* volume) const;
58 
60  virtual void* handleVolume(const std::string& name, const TGeoVolume* volume) const;
61  virtual void* collectVolume(const std::string& name, const TGeoVolume* volume) const;
62 
64  virtual void* handlePlacement(const std::string& name, const TGeoNode* node) const;
65  virtual void* handleAssembly(const std::string& name, const TGeoNode* node) const;
66 
69 
71  virtual void* handleRegion(Region region, const std::set<const TGeoVolume*>& volumes) const;
72 
74  virtual void* handleVis(const std::string& name, VisAttr vis) const;
75 
77  virtual void* handleLimitSet(LimitSet limitset, const std::set<const TGeoVolume*>& volumes) const;
78 
80  void handleProperties(LCDD::Properties& prp) const;
81 
83  virtual void printSensitive(SensitiveDetector sens_det, const std::set<const TGeoVolume*>& volumes) const;
84 
86  virtual void* printPlacement(const std::string& name, const TGeoNode* node) const;
87  };
88  } // End namespace Simulation
89 } // End namespace DD4hep
90 
91 #endif // DD4HEP_GEANT4CONVERTER_H
Handle class to hold the information of a sensitive detector.
Definition: Detector.h:47
Handle class describing a material.
Definition: Objects.h:300
Handle class describing an element in the periodic table.
Definition: Objects.h:267
virtual void * handleAssembly(const std::string &name, const TGeoNode *node) const
Dump volume placement in GDML format to output stream.
virtual ~Geant4Converter()
Standard destructor.
virtual void * handleLimitSet(LimitSet limitset, const std::set< const TGeoVolume * > &volumes) const
Convert the geometry type LimitSet into the corresponding Geant4 object(s).
virtual void * handleElement(const std::string &name, Atom element) const
Convert the geometry type element into the corresponding Geant4 object(s).
PrintLevel
Definition: Printout.h:47
virtual void * handleVolume(const std::string &name, const TGeoVolume *volume) const
Convert the geometry type logical volume into the corresponding Geant4 object(s). ...
The base class for all DD4hep geometry crawlers.
Definition: GeoHandler.h:102
virtual void * handleRegion(Region region, const std::set< const TGeoVolume * > &volumes) const
Convert the geometry type region into the corresponding Geant4 object(s).
virtual void * handleMaterial(const std::string &name, Material medium) const
Convert the geometry type material into the corresponding Geant4 object(s).
LCDD & lcdd() const
Accesor to the LCDD instance.
Definition: Geant4Mapping.h:67
virtual void * handleVis(const std::string &name, VisAttr vis) const
Convert the geometry visualisation attributes to the corresponding Geant4 object(s).
virtual void printSensitive(SensitiveDetector sens_det, const std::set< const TGeoVolume * > &volumes) const
Print the geometry type SensitiveDetector.
Geant4Converter(LCDD &lcdd)
Initializing Constructor.
virtual void * printPlacement(const std::string &name, const TGeoNode *node) const
Print Geant4 placement.
Geant4Converter & create(DetElement top)
Create geometry conversion.
std::map< std::string, PropertyValues > Properties
Definition: LCDD.h:89
virtual void * collectVolume(const std::string &name, const TGeoVolume *volume) const
Dump logical volume in GDML format to output stream.
Handle class describing visualization attributes.
Definition: Objects.h:341
Handle class describing a detector element.
Definition: Detector.h:172
void handleProperties(LCDD::Properties &prp) const
Handle the geant 4 specific properties.
Geometry converter from DD4hep to Geant 4.
Handle class describing a set of limits as they are used for simulation.
Definition: Objects.h:475
Handle class describing a region as used in simulation.
Definition: Objects.h:516
The main interface to the DD4hep detector description package.
Definition: LCDD.h:82
Geometry mapping from DD4hep to Geant 4.
Definition: Geant4Mapping.h:36
virtual void * handlePlacement(const std::string &name, const TGeoNode *node) const
Convert the geometry type volume placement into the corresponding Geant4 object(s).
virtual void * handleSolid(const std::string &name, const TGeoShape *volume) const
Convert the geometry type solid into the corresponding Geant4 object(s).