VGM Version 5.3
Loading...
Searching...
No Matches
Ctubs.h
Go to the documentation of this file.
1// $Id$
2
3// -----------------------------------------------------------------------
4// The Geant4GM package of the Virtual Geometry Model
5// Copyright (C) 2014, Ivana Hrivnacova
6// All rights reserved.
7//
8// For the licensing terms see vgm/LICENSE.
9// Contact: ivana@ipno.in2p3.fr
10// -----------------------------------------------------------------------
11
13//
21
22#ifndef GEANT4_GM_CTUBS_H
23#define GEANT4_GM_CTUBS_H
24
26
27#include "G4ThreeVector.hh"
28#include "globals.hh"
29
30#include <string>
31
32class G4CutTubs;
33class G4ReflectedSolid;
34
35namespace Geant4GM {
36
37class Ctubs : public BaseVGM::VCtubs
38{
39 public:
40 Ctubs(const std::string& name, double rin, double rout, double hz,
41 double sphi, double dphi, double nxlow, double nylow, double nzlow,
42 double nxhigh, double nyhigh, double nzhigh);
43 Ctubs(G4CutTubs* ctubs, G4ReflectedSolid* reflCtubs = 0);
44 virtual ~Ctubs();
45
46 // methods
47 virtual std::string Name() const;
48 virtual double InnerRadius() const;
49 virtual double OuterRadius() const;
50 virtual double ZHalfLength() const;
51 virtual double StartPhi() const;
52 virtual double DeltaPhi() const;
53 virtual double NxLow() const;
54 virtual double NyLow() const;
55 virtual double NzLow() const;
56 virtual double NxHigh() const;
57 virtual double NyHigh() const;
58 virtual double NzHigh() const;
59
60 protected:
61 Ctubs();
62 Ctubs(const Ctubs& rhs);
63
64 private:
65 static const double fgkTolerance;
66
67 bool fIsReflected;
68 G4CutTubs* fCutTubs;
69};
70
71} // namespace Geant4GM
72
73#endif // GEANT4_GM_CTUBS_H
The ABC for cut tubs solids.
Definition VCtubs.h:30
VGM implementation for cut tubs solid in Geant4.
Definition Ctubs.h:38
virtual double NyHigh() const
Y-component of the normal unit vector to the cut plane in +z.
Definition Ctubs.cxx:175
virtual double NxHigh() const
X-component of the normal unit vector to the cut plane in +z.
Definition Ctubs.cxx:166
virtual double OuterRadius() const
Return the outside radius in mm.
Definition Ctubs.cxx:116
virtual double ZHalfLength() const
Return the half-length along the z axis in m.
Definition Ctubs.cxx:122
virtual double NzLow() const
Z-component of the normal unit vector to the cut plane in -z.
Definition Ctubs.cxx:157
virtual double NzHigh() const
Z-component of the normal unit vector to the cut plane in +z.
Definition Ctubs.cxx:184
virtual ~Ctubs()
Definition Ctubs.cxx:101
virtual double DeltaPhi() const
Return the opening angle of the segment in deg.
Definition Ctubs.cxx:134
virtual double NyLow() const
Y-component of the normal unit vector to the cut plane in -z.
Definition Ctubs.cxx:148
virtual double NxLow() const
X-component of the normal unit vector to the cut plane in -z.
Definition Ctubs.cxx:139
virtual std::string Name() const
Return the name of this solid.
Definition Ctubs.cxx:107
virtual double StartPhi() const
Return the starting angle of the segment in deg.
Definition Ctubs.cxx:128
virtual double InnerRadius() const
Return the inside radius in mm.
Definition Ctubs.cxx:110
VGM implementation for Geant4.
Definition Element.h:29