CMS 3D CMS Logo

CutTubs.cc
Go to the documentation of this file.
3 
4 #include <cmath>
5 #include <vector>
6 
9 
10 using namespace geant_units;
11 using namespace geant_units::operators;
12 
13 DDI::CutTubs::CutTubs( double zhalf,
14  double rIn, double rOut,
15  double startPhi,
16  double deltaPhi,
17  double lx, double ly, double lz,
18  double tx, double ty, double tz )
20 {
21  p_.emplace_back(zhalf);
22  p_.emplace_back(rIn);
23  p_.emplace_back(rOut);
24  p_.emplace_back(startPhi);
25  p_.emplace_back(deltaPhi);
26  p_.emplace_back(lx);
27  p_.emplace_back(ly);
28  p_.emplace_back(lz);
29  p_.emplace_back(tx);
30  p_.emplace_back(ty);
31  p_.emplace_back(tz);
32 }
33 
34 void DDI::CutTubs::stream(std::ostream & os) const
35 {
36  os << " zhalf=" << convertMmToCm( p_[0] )
37  << " rIn=" << convertMmToCm( p_[1] )
38  << " rOut=" << convertMmToCm( p_[2] )
39  << " startPhi=" << convertRadToDeg( p_[3] )
40  << " deltaPhi=" << convertRadToDeg( p_[4] )
41  << " Outside Normal at -z (" << p_[5] << "," << p_[6] << "," << p_[7] << ")"
42  << " Outside Normal at +z (" << p_[8] << "," << p_[9] << "," << p_[10] << ")";
43 }
DDSolidShape
Definition: DDSolidShapes.h:6
constexpr NumType convertRadToDeg(NumType radians)
Definition: GeantUnits.h:98
CutTubs(double zHalf, double rIn, double rOut, double startPhi, double deltaPhi, double lx, double ly, double lz, double tx, double ty, double tz)
Definition: CutTubs.cc:13
void stream(std::ostream &os) const override
Definition: CutTubs.cc:34
std::vector< double > p_
Definition: Solid.h:32
constexpr NumType convertMmToCm(NumType millimeters)
Definition: GeantUnits.h:110