6 #include "CLHEP/Units/GlobalSystemOfUnits.h" 16 template <
typename DDView>
17 double getDouble(
const char*
s, DDView
const&
ev) {
19 std::vector<const DDsvalues_type*>
result;
20 ev.specificsV(result);
21 std::vector<const DDsvalues_type*>::iterator it = result.begin();
23 for (; it != result.end(); ++it) {
29 const std::vector<std::string>&
temp =
val.strings();
30 if (temp.size() != 1) {
31 throw cms::Exception(
"Configuration") <<
"I need 1 " << s <<
" tags";
33 return double(::atof(temp[0].c_str()));
38 template <
typename DDView>
39 std::string getString(
const char* s, DDView
const& ev) {
41 std::vector<const DDsvalues_type*>
result;
42 ev.specificsV(result);
43 std::vector<const DDsvalues_type*>::iterator it = result.begin();
45 for (; it != result.end(); ++it) {
51 const std::vector<std::string>& temp =
val.strings();
52 if (temp.size() != 1) {
53 throw cms::Exception(
"Configuration") <<
"I need 1 " << s <<
" tags";
79 radLength_(getDouble(
"TrackerRadLength", *fv)),
80 xi_(getDouble(
"TrackerXi", *fv)),
83 pixROCx_(getDouble(
"PixelROC_X", *fv)),
84 pixROCy_(getDouble(
"PixelROC_Y", *fv)),
85 stereo_(getString(
"TrackerStereoDetectors", *fv) == strue),
94 :
trans_(onePGD.x_, onePGD.y_, onePGD.z_),
174 cont.emplace_back(
this);
210 rot_.GetComponents(x, y, z);
224 const std::vector<double>& par =
params_;
GeometricTimingEnumType type_
nav_type navPos() const
return the stack of sibling numbers
bool DDfetch(const DDsvalues_type *, DDValue &)
helper for retrieving DDValues from DDsvalues_type *.
void addComponents(GeometricTimingDetContainer const &cont)
Position positionBounds() const
std::vector< double > params_
Bounds * buildBounds(const DDSolidShape &, const std::vector< double > &) const
std::unique_ptr< Bounds > bounds() const
ConstGeometricTimingDetContainer deepComponents() const
void addComponent(GeometricTimingDet *)
GeometricTimingDet(DDFilteredView *fv, GeometricTimingEnumType dd)
enum GeometricTimingDet::GTDEnumType GeometricTimingEnumType
std::string const & name() const
DDExpandedView::nav_type nav_type
DDExpandedView::nav_type nav_type
std::vector< GeometricTimingDet const * > ConstGeometricTimingDetContainer
std::vector< GeometricTimingDet * > GeometricTimingDetContainer
RotationMatrix const & rotation() const
DDSolidShape const & shape() const
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > Translation
ConstGeometricTimingDetContainer container_
cont
load Luminosity info ##
Rotation rotationBounds() const
Translation const & translation() const