VGM Version 5.3
Loading...
Searching...
No Matches
Volume.h
Go to the documentation of this file.
1// $Id$
2
3// -----------------------------------------------------------------------
4// The RootGM 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 ROOT_GM_VOLUME_H
21#define ROOT_GM_VOLUME_H
22
24
25#include <string>
26
27class TGeoVolume;
28
29namespace VGM {
30class ISolid;
31}
32
33namespace RootGM {
34
36{
37 public:
38 Volume(
39 const std::string& name, VGM::ISolid* solid, const std::string& mediumName);
40 Volume(VGM::ISolid* solid, TGeoVolume* volume);
41 virtual ~Volume();
42
43 // methods
44 virtual std::string Name() const;
45 virtual std::string MaterialName() const;
46 virtual std::string MediumName() const;
47
48 void ResetVolume(TGeoVolume* rootVolume);
49
50 protected:
51 Volume();
52 Volume(const Volume& rhs);
53
54 private:
55 TGeoVolume* fGeoVolume;
56};
57
58} // namespace RootGM
59
60#endif // ROOT_GM_VOLUME_H
The abstract base class for volumes.
Definition VVolume.h:36
VGM implementation for Root volume.
Definition Volume.h:36
virtual ~Volume()
Definition Volume.cxx:90
virtual std::string MediumName() const
Return the name of the associated medium.
Definition Volume.cxx:120
void ResetVolume(TGeoVolume *rootVolume)
Definition Volume.cxx:131
virtual std::string MaterialName() const
Return the name of the associated material.
Definition Volume.cxx:107
virtual std::string Name() const
Return the name of this volume.
Definition Volume.cxx:100
The VGM interface to solids.
Definition ISolid.h:58
VGM implementation for Root.
Definition axis.h:28
VGM interfaces.
Definition VMedium.h:28