Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
src
DetectorDescription
Core
src
Torus.cc
Go to the documentation of this file.
1
#include "
DetectorDescription/Core/src/Torus.h
"
2
#include "CLHEP/Units/GlobalPhysicalConstants.h"
3
#include "CLHEP/Units/GlobalSystemOfUnits.h"
4
#include <cmath>
5
6
using
std::sqrt
;
7
8
9
DDI::Torus::Torus
(
double
pRMin,
10
double
pRMax,
11
double
pRTor,
12
double
pSPhi,
13
double
pDPhi
14
)
15
:
Solid
(
ddtorus
)
16
{
17
p_
.push_back(pRMin);
// ......... 0
18
p_
.push_back(pRMax);
// ......... 1
19
p_
.push_back(pRTor);
// ......... 2
20
p_
.push_back(pSPhi);
// ......... 3
21
p_
.push_back(pDPhi);
// ......... 4
22
}
23
24
25
void
DDI::Torus::stream
(std::ostream & os)
const
26
{
27
os <<
" rMin="
<< p_[0]/cm
28
<<
" rMax="
<< p_[1]/deg
29
<<
" rTor="
<< p_[2]/deg
30
<<
" sPhi="
<< p_[3]/cm
31
<<
" dPhi="
<< p_[4]/cm;
32
}
33
34
double
DDI::Torus::volume
()
const
35
{
36
double
volume=0;
37
38
/* use notation as described in documentation about geant 4 shapes */
39
40
// From Geant4: { fCubicVolume = fDPhi*pi*fRtor*(fRmax*fRmax-fRmin*fRmin);
41
42
volume = p_[4]*
pi
*p_[2]*(p_[1]*p_[1]-p_[0]*p_[0]);
43
44
return
volume;
45
}
Torus.h
ddtorus
Definition:
DDSolidShapes.h:10
DDI::Torus::volume
double volume() const
Definition:
Torus.cc:34
pi
const Double_t pi
Definition:
trackSplitPlot.h:35
mathSSE::sqrt
T sqrt(T t)
Definition:
SSEVec.h:48
DDI::Torus::Torus
Torus(double pRMin, double pRMax, double pRTor, double pSPhi, double pDPhi)
Definition:
Torus.cc:9
DDI::Solid
Definition:
Solid.h:10
DDI::Solid::p_
std::vector< double > p_
Definition:
Solid.h:32
DDI::Torus::stream
void stream(std::ostream &) const
Definition:
Torus.cc:25
Generated for CMSSW Reference Manual by
1.8.5