VGM Version 5.3
Loading...
Searching...
No Matches
Volume.h
Go to the documentation of this file.
1// $Id$
2
3// -----------------------------------------------------------------------
4// The Geant4GM package of the Virtual Geometry Model
5// Copyright (C) 2007, Ivana Hrivnacova
6// All rights reserved.
7//
8// For the licensing terms see vgm/LICENSE.
9// Contact: ivana@ipno.in2p3.fr
10// -----------------------------------------------------------------------
11
13//
19
20#ifndef GEANT4_GM_VOLUME_H
21#define GEANT4_GM_VOLUME_H
22
24
25#include <string>
26
27class G4LogicalVolume;
28
29namespace VGM {
30class ISolid;
31}
32
33namespace Geant4GM {
34
36{
37 public:
38 Volume(const std::string& name, VGM::ISolid* solid,
39 const std::string& materialName, const std::string& mediumName);
40 Volume(
41 VGM::ISolid* solid, G4LogicalVolume* lv, const std::string& mediumName);
42 virtual ~Volume();
43
44 // methods
45 virtual std::string Name() const;
46 virtual std::string MaterialName() const;
47 virtual std::string MediumName() const;
48
49 virtual void ResetSolid(VGM::ISolid* solid);
50
51 protected:
52 Volume();
53 Volume(const Volume& rhs);
54
55 private:
56 G4LogicalVolume* fLogicalVolume;
57 std::string fMediumName;
58};
59
60} // namespace Geant4GM
61
62#endif // GEANT4_GM_VOLUME_H
The abstract base class for volumes.
Definition VVolume.h:36
VGM implementation for Geant4 volume.
Definition Volume.h:36
virtual std::string MediumName() const
Return the name of the associated medium.
Definition Volume.cxx:117
virtual std::string Name() const
Return the name of this volume.
Definition Volume.cxx:103
virtual ~Volume()
Definition Volume.cxx:93
virtual void ResetSolid(VGM::ISolid *solid)
Definition Volume.cxx:124
virtual std::string MaterialName() const
Return the name of the associated material.
Definition Volume.cxx:110
The VGM interface to solids.
Definition ISolid.h:58
VGM implementation for Geant4.
Definition Element.h:29
VGM interfaces.
Definition VMedium.h:28