VGM Version 5.3
Loading...
Searching...
No Matches
Trap.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_TRAP_H
21#define GEANT4_GM_TRAP_H
22
24
25#include <string>
26
27class G4Trap;
28class G4ReflectedSolid;
29
30namespace Geant4GM {
31
32class Trap : public BaseVGM::VTrap
33{
34 public:
35 Trap(const std::string& name, double hz, double theta, double phi, double dy1,
36 double dx1, double dx2, double alpha1, double dy2, double dx3, double dx4,
37 double alpha2);
38 Trap(G4Trap* trap, G4ReflectedSolid* reflTrap = 0);
39 virtual ~Trap();
40
41 // methods
42 virtual std::string Name() const;
43 virtual double ZHalfLength() const;
44 virtual double Theta() const;
45 virtual double Phi() const;
46 virtual double YHalfLengthMinusZ() const;
47 virtual double XHalfLengthMinusZMinusY() const;
48 virtual double XHalfLengthMinusZPlusY() const;
49 virtual double AlphaMinusZ() const;
50 virtual double YHalfLengthPlusZ() const;
51 virtual double XHalfLengthPlusZMinusY() const;
52 virtual double XHalfLengthPlusZPlusY() const;
53 virtual double AlphaPlusZ() const;
54
55 protected:
56 Trap();
57 Trap(const Trap& rhs);
58
59 private:
60 bool fIsReflected;
61 G4Trap* fTrap;
62};
63
64} // namespace Geant4GM
65
66#endif // GEANT4_GM_TRAP_H
The ABC for trap solids.
Definition VTrap.h:30
VGM implementation for Geant4 trap solid.
Definition Trap.h:33
virtual double YHalfLengthPlusZ() const
Return the half-length along y of the face at +hz in m.
Definition Trap.cxx:191
virtual double Phi() const
Return the azimuthal angle of the line joining the centres of the faces at -hz and +hz in deg.
Definition Trap.cxx:143
virtual double XHalfLengthMinusZMinusY() const
Return the half-length along x of the side at -hy of the face at -hz in mm.
Definition Trap.cxx:164
virtual std::string Name() const
Return the name of this solid.
Definition Trap.cxx:122
virtual double AlphaMinusZ() const
Return the angle with respect to the y axis from the centre of the side at -hy to the centre at +hy o...
Definition Trap.cxx:182
virtual double XHalfLengthPlusZMinusY() const
Return the half-length along x of the side at -hy of the face at +hz in m.
Definition Trap.cxx:200
virtual double XHalfLengthPlusZPlusY() const
Return the half-length along x of the side at +hy of the face at +hz in m.
Definition Trap.cxx:209
virtual double YHalfLengthMinusZ() const
Return the half-length along y of the face at -hz in mm.
Definition Trap.cxx:155
virtual double ZHalfLength() const
Return the half-length along the z axis in mm.
Definition Trap.cxx:125
virtual double AlphaPlusZ() const
Return the angle with respect to the y axis from the centre of the side at -hy to the centre at +hy o...
Definition Trap.cxx:218
virtual ~Trap()
Definition Trap.cxx:116
virtual double XHalfLengthMinusZPlusY() const
Return the half-length along x of the side at +hy of the face at +hz in mm.
Definition Trap.cxx:173
virtual double Theta() const
Return the polar angle of the line joining the centres of the faces at -hz and +hz in deg.
Definition Trap.cxx:131
VGM implementation for Geant4.
Definition Element.h:29