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,
15  double rOut,
16  double startPhi,
17  double deltaPhi,
18  double lx,
19  double ly,
20  double lz,
21  double tx,
22  double ty,
23  double tz)
25  p_.emplace_back(zhalf);
26  p_.emplace_back(rIn);
27  p_.emplace_back(rOut);
28  p_.emplace_back(startPhi);
29  p_.emplace_back(deltaPhi);
30  p_.emplace_back(lx);
31  p_.emplace_back(ly);
32  p_.emplace_back(lz);
33  p_.emplace_back(tx);
34  p_.emplace_back(ty);
35  p_.emplace_back(tz);
36 }
37 
38 void DDI::CutTubs::stream(std::ostream& os) const {
39  os << " zhalf=" << convertMmToCm(p_[0]) << " rIn=" << convertMmToCm(p_[1]) << " rOut=" << convertMmToCm(p_[2])
40  << " startPhi=" << convertRadToDeg(p_[3]) << " deltaPhi=" << convertRadToDeg(p_[4]) << " Outside Normal at -z ("
41  << p_[5] << "," << p_[6] << "," << p_[7] << ")"
42  << " Outside Normal at +z (" << p_[8] << "," << p_[9] << "," << p_[10] << ")";
43 }
constexpr NumType convertRadToDeg(NumType radians)
Definition: angle_units.h:21
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:38
DDSolidShape
Definition: DDSolidShapes.h:6
std::vector< double > p_
Definition: Solid.h:30
constexpr NumType convertMmToCm(NumType millimeters)
Definition: GeantUnits.h:62