VGM Version 5.3
Loading...
Searching...
No Matches
Paraboloid.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_PARABOLOID_H
21#define GEANT4_GM_PARABOLOID_H
22
24
25#include <string>
26
27class G4Paraboloid;
28class G4ReflectedSolid;
29
30namespace Geant4GM {
31
33{
34 public:
35 Paraboloid(const std::string& name, double r1, double r2, double hz);
36 Paraboloid(G4Paraboloid* paraboloid, G4ReflectedSolid* reflParaboloid = 0);
37 virtual ~Paraboloid();
38
39 // methods
40 virtual std::string Name() const;
41 virtual double RadiusMinusZ() const;
42 virtual double RadiusPlusZ() const;
43 virtual double ZHalfLength() const;
44
45 protected:
46 Paraboloid();
47 Paraboloid(const Paraboloid& rhs);
48
49 private:
50 bool fIsReflected;
51 G4Paraboloid* fParaboloid;
52};
53
54} // namespace Geant4GM
55
56#endif // GEANT4_GM_PARABOLOID_H
The ABC for paraboloid solids.
Definition VParaboloid.h:30
VGM implementation for Geant4 paraboloid solid.
Definition Paraboloid.h:33
virtual double RadiusMinusZ() const
Return the radius at -z in mm.
virtual double ZHalfLength() const
Return the half-length along the z axis in mm.
virtual std::string Name() const
Return the name of this solid.
virtual double RadiusPlusZ() const
Return the radius at +z in mm.
VGM implementation for Geant4.
Definition Element.h:29