VGM
Version 5.5
Toggle main menu visibility
Loading...
Searching...
No Matches
packages
RootGM
source
solids
Paraboloid.cxx
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
12
//
13
// Class Paraboloid
14
// -----------------
15
// VGM implementation for Root paraboloid solid.
16
//
17
// Author: Ivana Hrivnacova; IPN Orsay
18
19
#include "
RootGM/solids/Paraboloid.h
"
20
#include "
RootGM/common/Units.h
"
21
#include "
RootGM/solids/SolidMap.h
"
22
23
#include "TGeoParaboloid.h"
24
#include "TGeoShape.h"
25
26
//_____________________________________________________________________________
27
RootGM::Paraboloid::Paraboloid
(
28
const
std::string& name,
double
r1,
double
r2,
double
hz)
29
:
VGM
::ISolid(),
30
VGM
::IParaboloid(),
31
BaseVGM
::
VParaboloid
(),
32
fParaboloid(new TGeoParaboloid(name.data(), r1 /
RootGM
::
Units
::Length(),
33
r2 /
RootGM
::
Units
::Length(), hz /
RootGM
::
Units
::Length()))
34
{
39
40
RootGM::SolidMap::Instance
()->
AddSolid
(
this
, fParaboloid);
41
}
42
43
//_____________________________________________________________________________
44
RootGM::Paraboloid::Paraboloid
(TGeoParaboloid* paraboloid)
45
:
VGM
::ISolid(),
46
VGM
::IParaboloid(),
47
BaseVGM
::
VParaboloid
(),
48
fParaboloid(paraboloid)
49
{
51
52
RootGM::SolidMap::Instance
()->
AddSolid
(
this
, fParaboloid);
53
}
54
55
//_____________________________________________________________________________
56
RootGM::Paraboloid::Paraboloid
()
57
:
VGM
::ISolid(),
VGM
::IParaboloid(),
BaseVGM
::
VParaboloid
()
58
{
60
}
61
62
//_____________________________________________________________________________
63
RootGM::Paraboloid::Paraboloid
(
const
Paraboloid
& rhs)
64
:
VGM
::ISolid(rhs),
VGM
::IParaboloid(rhs),
BaseVGM
::
VParaboloid
(rhs)
65
{
67
}
68
69
//_____________________________________________________________________________
70
RootGM::Paraboloid::~Paraboloid
()
71
{
72
//
73
}
74
75
//_____________________________________________________________________________
76
std::string
RootGM::Paraboloid::Name
()
const
{
return
fParaboloid->GetName(); }
77
78
//_____________________________________________________________________________
79
double
RootGM::Paraboloid::RadiusMinusZ
()
const
80
{
81
return
fParaboloid->GetRlo() *
RootGM::Units::Length
();
82
}
83
84
//_____________________________________________________________________________
85
double
RootGM::Paraboloid::RadiusPlusZ
()
const
86
{
87
return
fParaboloid->GetRhi() *
RootGM::Units::Length
();
88
}
89
90
//_____________________________________________________________________________
91
double
RootGM::Paraboloid::ZHalfLength
()
const
92
{
93
return
fParaboloid->GetDz() *
RootGM::Units::Length
();
94
}
Units.h
Paraboloid.h
SolidMap.h
BaseVGM::VParaboloid::VParaboloid
VParaboloid()
Definition
VParaboloid.cxx:30
RootGM::Paraboloid::Paraboloid
Paraboloid()
Definition
Paraboloid.cxx:56
RootGM::Paraboloid::RadiusMinusZ
virtual double RadiusMinusZ() const
Return the radius at -z in mm.
Definition
Paraboloid.cxx:79
RootGM::Paraboloid::Paraboloid
Paraboloid(const std::string &name, double r1, double r2, double hz)
Definition
Paraboloid.cxx:27
RootGM::Paraboloid::RadiusPlusZ
virtual double RadiusPlusZ() const
Return the radius at +z in mm.
Definition
Paraboloid.cxx:85
RootGM::Paraboloid::ZHalfLength
virtual double ZHalfLength() const
Return the half-length along the z axis in mm.
Definition
Paraboloid.cxx:91
RootGM::Paraboloid::Name
virtual std::string Name() const
Return the name of this solid.
Definition
Paraboloid.cxx:76
RootGM::Paraboloid::~Paraboloid
virtual ~Paraboloid()
Definition
Paraboloid.cxx:70
RootGM::SolidMap::AddSolid
void AddSolid(VGM::ISolid *, TGeoShape *)
Definition
SolidMap.cxx:59
RootGM::SolidMap::Instance
static SolidMap * Instance()
Definition
SolidMap.cxx:28
RootGM::Units
Conversion from Root physical units to VGM units.
Definition
Units.h:28
RootGM::Units::Length
static double Length()
Return Root length unit in VGM units.
Definition
Units.h:84
BaseVGM
BaseVGM utilities.
Definition
utilities.h:23
RootGM
VGM implementation for Root.
Definition
axis.h:28
VGM
VGM interfaces.
Definition
VMedium.h:28
Generated on
for VGM by
1.17.0