VGM Version 5.3
Loading...
Searching...
No Matches
Polyhedra.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_POLYHEDRA_H
21#define GEANT4_GM_POLYHEDRA_H
22
24
25#include <string>
26
27class G4Polyhedra;
28class G4ReflectedSolid;
29
30namespace Geant4GM {
31
33{
34 public:
35 Polyhedra(const std::string& name, double sphi, double dphi, int nofSides,
36 int nofZplanes, double* z, double* rin, double* rout);
37 Polyhedra(G4Polyhedra* polyhedra, G4ReflectedSolid* reflPolyhedra = 0);
38 virtual ~Polyhedra();
39
40 // methods
41 virtual std::string Name() const;
42 virtual double StartPhi() const;
43 virtual double DeltaPhi() const;
44 virtual int NofSides() const;
45 virtual int NofZPlanes() const;
46 virtual double* ZValues() const;
47 virtual double* InnerRadiusValues() const;
48 virtual double* OuterRadiusValues() const;
49
50 protected:
51 Polyhedra();
52 Polyhedra(const Polyhedra& rhs);
53
54 private:
55 void CreateBuffers();
56
57 static const int fgkMaxNofZPlanes;
58 static double* fgZBuffer;
59 static double* fgRinBuffer;
60 static double* fgRoutBuffer;
61
62 bool fIsReflected;
63 double* fZValuesRefl;
64 G4Polyhedra* fPolyhedra;
65};
66
67} // namespace Geant4GM
68
69#endif // GEANT4_GM_POLYHEDRA_H
The ABC for polyhedra solids.
Definition VPolyhedra.h:30
VGM implementation for Geant4 polyhedra solid.
Definition Polyhedra.h:33
virtual double * OuterRadiusValues() const
Return the array of outer radius of the planes in mm.
virtual int NofSides() const
Return number of sides of the cross section between the given phi limits.
virtual double * ZValues() const
Return the array of z positions of the planes in mm.
virtual double DeltaPhi() const
Return opening phi angle of the segment in deg.
virtual double StartPhi() const
Return starting phi angle of the segment in deg.
virtual int NofZPlanes() const
Return number of planes perpendicular to the z axis.
virtual std::string Name() const
Return the name of this solid.
virtual double * InnerRadiusValues() const
Return the array of innner radius of the planes in mm.
VGM implementation for Geant4.
Definition Element.h:29