Garfield 0.3
Toolkit for the detailed simulation of particle detectors based on ionization measurement in gases and semiconductors
Loading...
Searching...
No Matches
ViewGeometry.hh
Go to the documentation of this file.
1#ifndef G_VIEW_GEOMETRY
2#define G_VIEW_GEOMETRY
3
4#include <TGeoManager.h>
5
6#include <memory>
7#include <vector>
8
10
11namespace Garfield {
12
13class GeometrySimple;
14
16
17class ViewGeometry : public ViewBase {
18 public:
20 ViewGeometry() : ViewGeometry(nullptr) {}
25
29 void Plot(const bool twod = false);
31 void Plot2d();
33 void Plot3d();
35 void PlotPanels();
36
37 private:
39
40 std::vector<TGeoVolume*> m_volumes;
41 std::vector<TGeoMedium*> m_media;
42
43 std::unique_ptr<TGeoManager> m_geoManager;
44
45 void Reset();
46};
47} // namespace Garfield
48#endif
"Native" geometry, using simple shapes.
ViewBase()=delete
Default constructor.
ViewGeometry(GeometrySimple *geo)
Constructor.
void PlotPanels()
Draw the surface panels.
void Plot3d()
Draw a three-dimensional view of the geometry.
std::vector< TGeoMedium * > m_media
std::vector< TGeoVolume * > m_volumes
void SetGeometry(GeometrySimple *geo)
Set the geometry to be drawn.
~ViewGeometry()
Destructor.
void Plot(const bool twod=false)
Draw the geometry.
std::unique_ptr< TGeoManager > m_geoManager
void Plot2d()
Draw a cut through the geometry at the current viewing plane.
GeometrySimple * m_geometry
ViewGeometry()
Default constructor.