VGM Version 5.3
Loading...
Searching...
No Matches
Trap.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_TRAP_H
21#define ROOT_GM_TRAP_H
22
24
25#include <string>
26
27class TGeoTrap;
28
29namespace RootGM {
30
31class Trap : public BaseVGM::VTrap
32{
33 public:
34 Trap(const std::string& name, double hz, double theta, double phi, double dy1,
35 double dx1, double dx2, double alpha1, double dy2, double dx3, double dx4,
36 double alpha2);
37 Trap(TGeoTrap* trap);
38 virtual ~Trap();
39
40 // methods
41 virtual std::string Name() const;
42 virtual double ZHalfLength() const;
43 virtual double Theta() const;
44 virtual double Phi() const;
45 virtual double YHalfLengthMinusZ() const;
46 virtual double XHalfLengthMinusZMinusY() const;
47 virtual double XHalfLengthMinusZPlusY() const;
48 virtual double AlphaMinusZ() const;
49 virtual double YHalfLengthPlusZ() const;
50 virtual double XHalfLengthPlusZMinusY() const;
51 virtual double XHalfLengthPlusZPlusY() const;
52 virtual double AlphaPlusZ() const;
53
54 protected:
55 Trap();
56 Trap(const Trap& rhs);
57
58 private:
59 TGeoTrap* fTrap;
60};
61
62} // namespace RootGM
63
64#endif // ROOT_GM_TRAP_H
The ABC for trap solids.
Definition VTrap.h:30
VGM implementation for Root trap solid.
Definition Trap.h:32
virtual ~Trap()
Definition Trap.cxx:90
virtual double YHalfLengthMinusZ() const
Return the half-length along y of the face at -hz in mm.
Definition Trap.cxx:117
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:135
virtual double YHalfLengthPlusZ() const
Return the half-length along y of the face at +hz in m.
Definition Trap.cxx:141
virtual std::string Name() const
Return the name of this solid.
Definition Trap.cxx:96
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:129
virtual double ZHalfLength() const
Return the half-length along the z axis in mm.
Definition Trap.cxx:99
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:159
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:105
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:147
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:111
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:153
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:123
VGM implementation for Root.
Definition axis.h:28