G4OCCT 0.1.0
Geant4 interface to Open CASCADE Technology (OCCT) geometry definitions
Loading...
Searching...
No Matches
G4OCCTAssemblyVolume.hh
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-2.1-or-later
2// Copyright (C) 2026 G4OCCT Contributors
3
6
7#ifndef G4OCCT_G4OCCTAssemblyVolume_hh
8#define G4OCCT_G4OCCTAssemblyVolume_hh
9
12
13#include <G4AssemblyVolume.hh>
14#include <G4String.hh>
15
16// OCCT (forward-declared where possible; full includes in .cc)
17#include <TDF_Label.hxx>
18#include <gp_Trsf.hxx>
19
20#include <map>
21#include <string>
22
69class G4OCCTAssemblyVolume : public G4AssemblyVolume {
70public:
73
101 static G4OCCTAssemblyVolume* FromSTEP(const std::string& path,
102 const G4OCCTMaterialMap& materialMap);
103
111 const std::map<G4String, G4OCCTLogicalVolume*>& GetLogicalVolumes() const {
112 return fLogicalVolumes;
113 }
114
115private:
117 std::map<G4String, G4OCCTLogicalVolume*> fLogicalVolumes;
118
120 struct BuildContext;
121
133 static void ImportLabel(const TDF_Label& label, G4AssemblyVolume* parentAssembly,
134 const gp_Trsf& composedTrsf, BuildContext& ctx);
135};
136
137#endif // G4OCCT_G4OCCTAssemblyVolume_hh
Declaration of G4OCCTLogicalVolume.
Declaration of G4OCCTMaterialMap.
Extends Geant4's G4AssemblyVolume with an OCCT XDE label reference.
G4OCCTAssemblyVolume()=default
~G4OCCTAssemblyVolume()=default
const std::map< G4String, G4OCCTLogicalVolume * > & GetLogicalVolumes() const
static G4OCCTAssemblyVolume * FromSTEP(const std::string &path, const G4OCCTMaterialMap &materialMap)
Maps STEP material names to Geant4 G4Material objects.