CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
GeometricDet Class Reference

#include <GeometricDet.h>

Public Types

using ConstGeometricDetContainer = std::vector< GeometricDet const * >
 
enum  GDEnumType {
  unknown = 100, Tracker = 0, PixelBarrel = 1, PixelEndCap = 2,
  TIB = 3, TID = 4, TOB = 5, TEC = 6,
  layer = 8, wheel = 9, strng = 10, rod = 11,
  petal = 12, ring = 13, ladder = 14, mergedDet = 15,
  DetUnit = 16, disk = 17, panel = 18, PixelPhase1Barrel = 101,
  PixelPhase1EndCap = 102, PixelPhase1Disk = 117, OTPhase2EndCap = 204, OTPhase2Barrel = 205,
  OTPhase2Layer = 208, OTPhase2Stack = 215, PixelPhase2Barrel = 201, PixelPhase2EndCap = 202,
  OTPhase2Wheel = 209, PixelPhase2FullDisk = 217, PixelPhase2ReducedDisk = 227, PixelPhase2TDRDisk = 237
}
 
using GeometricDetContainer = std::vector< GeometricDet * >
 
typedef enum GeometricDet::GDEnumType GeometricEnumType
 
using nav_type = std::vector< int >
 
using NavRange = std::pair< int const *, size_t >
 
using Position = Surface::PositionType
 
using Rotation = Surface::RotationType
 
using RotationMatrix = ROOT::Math::Rotation3D
 
using Translation = ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > >
 

Public Member Functions

void addComponent (GeometricDet *)
 
void addComponents (ConstGeometricDetContainer const &cont)
 
void addComponents (GeometricDetContainer const &cont)
 
std::unique_ptr< Boundsbounds () const
 
void clearComponents ()
 
GeometricDetcomponent (size_t index)
 
ConstGeometricDetContainercomponents ()
 
const ConstGeometricDetContainercomponents () const
 
ConstGeometricDetContainer deepComponents () const
 
void deepComponents (ConstGeometricDetContainer &cont) const
 
void deleteComponents ()
 
const DetIdgeographicalId () const
 
 GeometricDet (cms::DDFilteredView *fv, GeometricEnumType dd)
 
 GeometricDet (const PGeometricDet::Item &onePGD, GeometricEnumType dd)
 
 GeometricDet (DDFilteredView *fv, GeometricEnumType dd)
 
bool isFromDD4hep () const
 
bool isLeaf () const
 
bool isLowerSensor () const
 
bool isUpperSensor () const
 
const std::string & name () const
 
NavRange navpos () const
 
const nav_typenavType () const
 
const std::vector< double > & params () const
 
double phi () const
 
double pixROCCols () const
 
double pixROCRows () const
 
double pixROCx () const
 
double pixROCy () const
 
Position positionBounds () const
 
double radLength () const
 
double rho () const
 
const RotationMatrixrotation () const
 
Rotation rotationBounds () const
 
void setGeographicalID (DetId id)
 
LegacySolidShape shape () const
 
const cms::DDSolidShapeshape_dd4hep () const
 
double siliconAPVNum () const
 
bool stereo () const
 
const Translationtranslation () const
 
const GeometricEnumTypetype () const
 
double xi () const
 
 ~GeometricDet ()
 

Private Member Functions

std::vector< double > computeLegacyShapeParameters (const cms::DDSolidShape &mySolidShape, const dd4hep::Solid &mySolid) const
 

Private Attributes

ConstGeometricDetContainer container_
 
nav_type ddd_
 
std::string ddname_
 
DetId geographicalID_
 
bool isFromDD4hep_
 
bool isLowerSensor_
 
bool isUpperSensor_
 
std::vector< double > params_
 
double phi_
 
double pixROCCols_
 
double pixROCRows_
 
double pixROCx_
 
double pixROCy_
 
double radLength_
 
double rho_
 
RotationMatrix rot_
 
cms::DDSolidShape shape_
 
double siliconAPVNum_
 
bool stereo_
 
Translation trans_
 
GeometricEnumType type_
 
double xi_
 

Detailed Description

Composite class GeometricDet. A composite can contain other composites, and so on; You can understand what you are looking at via enum.

Definition at line 31 of file GeometricDet.h.

Member Typedef Documentation

◆ ConstGeometricDetContainer

Definition at line 34 of file GeometricDet.h.

◆ GeometricDetContainer

Definition at line 35 of file GeometricDet.h.

◆ GeometricEnumType

◆ nav_type

using GeometricDet::nav_type = std::vector<int>

Definition at line 42 of file GeometricDet.h.

◆ NavRange

using GeometricDet::NavRange = std::pair<int const*, size_t>

Definition at line 33 of file GeometricDet.h.

◆ Position

Definition at line 45 of file GeometricDet.h.

◆ Rotation

Definition at line 46 of file GeometricDet.h.

◆ RotationMatrix

using GeometricDet::RotationMatrix = ROOT::Math::Rotation3D

Definition at line 36 of file GeometricDet.h.

◆ Translation

using GeometricDet::Translation = ROOT::Math::DisplacementVector3D<ROOT::Math::Cartesian3D<double> >

Definition at line 37 of file GeometricDet.h.

Member Enumeration Documentation

◆ GDEnumType

Enumerator
unknown 
Tracker 
PixelBarrel 
PixelEndCap 
TIB 
TID 
TOB 
TEC 
layer 
wheel 
strng 
rod 
petal 
ring 
ladder 
mergedDet 
DetUnit 
disk 
panel 
PixelPhase1Barrel 
PixelPhase1EndCap 
PixelPhase1Disk 
OTPhase2EndCap 
OTPhase2Barrel 
OTPhase2Layer 
OTPhase2Stack 
PixelPhase2Barrel 
PixelPhase2EndCap 
OTPhase2Wheel 
PixelPhase2FullDisk 
PixelPhase2ReducedDisk 
PixelPhase2TDRDisk 

Definition at line 48 of file GeometricDet.h.

48  {
49  unknown = 100,
50  Tracker = 0,
51  PixelBarrel = 1,
52  PixelEndCap = 2,
53  TIB = 3,
54  TID = 4,
55  TOB = 5,
56  TEC = 6,
57  layer = 8,
58  wheel = 9,
59  strng = 10,
60  rod = 11,
61  petal = 12,
62  ring = 13,
63  ladder = 14,
64  mergedDet = 15,
65  DetUnit = 16,
66  disk = 17,
67  panel = 18,
68  PixelPhase1Barrel = 101,
69  PixelPhase1EndCap = 102,
70  PixelPhase1Disk = 117,
71  OTPhase2EndCap = 204,
72  OTPhase2Barrel = 205,
73  OTPhase2Layer = 208,
74  OTPhase2Stack = 215,
75  PixelPhase2Barrel = 201,
76  PixelPhase2EndCap = 202,
77  OTPhase2Wheel = 209,
78  PixelPhase2FullDisk = 217,
80  PixelPhase2TDRDisk = 237

Constructor & Destructor Documentation

◆ GeometricDet() [1/3]

GeometricDet::GeometricDet ( DDFilteredView fv,
GeometricEnumType  dd 
)

Definition at line 69 of file GeometricDet.cc.

70  : ddname_(fv->name()),
71  type_(type),
72  ddd_(), // To remove after DetExtra is removed (not used)
73  trans_(fv->translation()),
74  rho_(trans_.Rho()),
75  phi_(trans_.Phi()),
76  rot_(fv->rotation()),
78  params_(fv->parameters()),
79  radLength_(getDouble("TrackerRadLength", *fv)),
80  xi_(getDouble("TrackerXi", *fv)),
81  pixROCRows_(getDouble("PixelROCRows", *fv)),
82  pixROCCols_(getDouble("PixelROCCols", *fv)),
83  pixROCx_(getDouble("PixelROC_X", *fv)),
84  pixROCy_(getDouble("PixelROC_Y", *fv)),
85  stereo_(getString("TrackerStereoDetectors", *fv) == strue),
86  isLowerSensor_(getString("TrackerLowerDetectors", *fv) == strue),
87  isUpperSensor_(getString("TrackerUpperDetectors", *fv) == strue),
88  siliconAPVNum_(getDouble("SiliconAPVNumber", *fv)),
89  isFromDD4hep_(false) {
90  // workaround instead of this at initialization
91  const DDFilteredView::nav_type& nt = fv->navPos();
92  ddd_ = nav_type(nt.begin(), nt.end());
93 }

References ddd_, DDFilteredView::navPos(), and nt.

◆ GeometricDet() [2/3]

GeometricDet::GeometricDet ( cms::DDFilteredView fv,
GeometricEnumType  dd 
)

Definition at line 98 of file GeometricDet.cc.

99  : ddname_(dd4hep::dd::noNamespace(fv->name())),
100  type_(type),
101  ddd_(fv->navPos()), // To remove after DetExtra is removed (not used)
103  rho_(trans_.Rho()),
104  phi_(trans_.Phi()),
105  rot_(fv->rotation()),
106  shape_(fv->shape()),
108  pixROCRows_(fv->get<double>("PixelROCRows")),
109  pixROCCols_(fv->get<double>("PixelROCCols")),
110  pixROCx_(fv->get<double>("PixelROC_X")),
111  pixROCy_(fv->get<double>("PixelROC_Y")),
112  stereo_(fv->get<std::string_view>("TrackerStereoDetectors") == strue),
113  isLowerSensor_(fv->get<std::string_view>("TrackerLowerDetectors") == strue),
114  isUpperSensor_(fv->get<std::string_view>("TrackerUpperDetectors") == strue),
115  siliconAPVNum_(fv->get<double>("SiliconAPVNumber")),
116  isFromDD4hep_(true) {
117  fv->findSpecPar("TrackerRadLength", "TrackerXi");
118  radLength_ = fv->getNextValue("TrackerRadLength");
119  xi_ = fv->getNextValue("TrackerXi");
120 }

References cms::DDFilteredView::findSpecPar(), cms::DDFilteredView::getNextValue(), radLength_, and xi_.

◆ GeometricDet() [3/3]

GeometricDet::GeometricDet ( const PGeometricDet::Item onePGD,
GeometricEnumType  dd 
)

Definition at line 125 of file GeometricDet.cc.

126  : ddname_(onePGD._name),
127  type_(type),
128  ddd_(),
130  trans_(onePGD._x, onePGD._y, onePGD._z),
131  rho_(onePGD._rho),
132  phi_(onePGD._phi),
133  rot_(onePGD._a11,
134  onePGD._a12,
135  onePGD._a13,
136  onePGD._a21,
137  onePGD._a22,
138  onePGD._a23,
139  onePGD._a31,
140  onePGD._a32,
141  onePGD._a33),
142  shape_(cms::dd::name_from_value(cms::LegacySolidShapeMap, static_cast<LegacySolidShape>(onePGD._shape))),
143  params_(),
144  radLength_(onePGD._radLength),
145  xi_(onePGD._xi),
146  pixROCRows_(onePGD._pixROCRows),
147  pixROCCols_(onePGD._pixROCCols),
148  pixROCx_(onePGD._pixROCx),
149  pixROCy_(onePGD._pixROCy),
150  stereo_(onePGD._stereo),
152 // NB: what about new data members isLowerSensor_, isUpperSensor_, isFromDD4hep_?
153 // They are presently not added to PGeometricDet (no change in info stored into DB).
154 {
155  // Solid shape parameters: only for box (1) and trapezoid (3)
156  if (onePGD._shape == 1 || onePGD._shape == 3) {
157  params_.reserve(11);
158  params_.emplace_back(onePGD._params0);
159  params_.emplace_back(onePGD._params1);
160  params_.emplace_back(onePGD._params2);
161  params_.emplace_back(onePGD._params3);
162  params_.emplace_back(onePGD._params4);
163  params_.emplace_back(onePGD._params5);
164  params_.emplace_back(onePGD._params6);
165  params_.emplace_back(onePGD._params7);
166  params_.emplace_back(onePGD._params8);
167  params_.emplace_back(onePGD._params9);
168  params_.emplace_back(onePGD._params10);
169  }
170 
171  ddd_.reserve(onePGD._numnt);
172  ddd_.emplace_back(onePGD._nt0);
173  ddd_.emplace_back(onePGD._nt1);
174  ddd_.emplace_back(onePGD._nt2);
175  ddd_.emplace_back(onePGD._nt3);
176  if (onePGD._numnt > 4) {
177  ddd_.emplace_back(onePGD._nt4);
178  if (onePGD._numnt > 5) {
179  ddd_.emplace_back(onePGD._nt5);
180  if (onePGD._numnt > 6) {
181  ddd_.emplace_back(onePGD._nt6);
182  if (onePGD._numnt > 7) {
183  ddd_.emplace_back(onePGD._nt7);
184  if (onePGD._numnt > 8) {
185  ddd_.emplace_back(onePGD._nt8);
186  if (onePGD._numnt > 9) {
187  ddd_.emplace_back(onePGD._nt9);
188  if (onePGD._numnt > 10) {
189  ddd_.emplace_back(onePGD._nt10);
190  }
191  }
192  }
193  }
194  }
195  }
196  }
197 }

References PGeometricDet::Item::_nt0, PGeometricDet::Item::_nt1, PGeometricDet::Item::_nt10, PGeometricDet::Item::_nt2, PGeometricDet::Item::_nt3, PGeometricDet::Item::_nt4, PGeometricDet::Item::_nt5, PGeometricDet::Item::_nt6, PGeometricDet::Item::_nt7, PGeometricDet::Item::_nt8, PGeometricDet::Item::_nt9, PGeometricDet::Item::_numnt, PGeometricDet::Item::_params0, PGeometricDet::Item::_params1, PGeometricDet::Item::_params10, PGeometricDet::Item::_params2, PGeometricDet::Item::_params3, PGeometricDet::Item::_params4, PGeometricDet::Item::_params5, PGeometricDet::Item::_params6, PGeometricDet::Item::_params7, PGeometricDet::Item::_params8, PGeometricDet::Item::_params9, PGeometricDet::Item::_shape, ddd_, and params_.

◆ ~GeometricDet()

GeometricDet::~GeometricDet ( )

What to do in the destructor? destroy all the daughters!

Definition at line 64 of file GeometricDet.cc.

64 { deleteComponents(); }

References deleteComponents().

Member Function Documentation

◆ addComponent()

void GeometricDet::addComponent ( GeometricDet det)

◆ addComponents() [1/2]

void GeometricDet::addComponents ( ConstGeometricDetContainer const &  cont)

Definition at line 245 of file GeometricDet.cc.

245  {
246  container_.reserve(container_.size() + cont.size());
247  std::copy(cont.begin(), cont.end(), back_inserter(container_));
248 }

References generateEDF::cont, container_, and filterCSVwithJSON::copy.

◆ addComponents() [2/2]

void GeometricDet::addComponents ( GeometricDetContainer const &  cont)

◆ bounds()

std::unique_ptr< Bounds > GeometricDet::bounds ( ) const

Definition at line 199 of file GeometricDet.cc.

199  {
200  TrackerShapeToBounds shapeToBounds;
201  return std::unique_ptr<Bounds>(shapeToBounds.buildBounds(shape_, params_));
202 }

References TrackerShapeToBounds::buildBounds(), params_, and shape_.

Referenced by TrackerGeometry::fillTestMap(), and PlaneBuilderFromGeometricDet::plane().

◆ clearComponents()

void GeometricDet::clearComponents ( )
inline

◆ component()

GeometricDet* GeometricDet::component ( size_t  index)
inline

◆ components() [1/2]

ConstGeometricDetContainer& GeometricDet::components ( )
inline

Definition at line 149 of file GeometricDet.h.

149 { return container_; }

References container_.

Referenced by Phase2EndcapLayerBuilder::build(), PixelRodBuilder::build(), TECLayerBuilder::build(), TIDRingBuilder::build(), TECPetalBuilder::build(), TECWedgeBuilder::build(), TIBLayerBuilder::build(), TIDLayerBuilder::build(), TOBLayerBuilder::build(), TOBRodBuilder::build(), Phase2EndcapRingBuilder::build(), Phase2OTBarrelLayerBuilder::build(), Phase2OTBarrelRodBuilder::build(), PixelBarrelLayerBuilder::build(), TrackerGeomBuilderFromGeometricDet::build(), GeometricSearchTrackerBuilder::build(), PixelForwardLayerBuilder< T1, T2 >::build(), PixelBladeBuilder< T >::build(), CmsTrackerDetIdBuilder::iterate(), DDDCmsTrackerContruction::printAllTrackerGeometricDetsBeforeDetIDBuilding(), CmsTrackerPixelPhase2DiskBuilder< FilteredView >::sortNS(), CmsTrackerStringBuilder< FilteredView >::sortNS(), CmsTrackerOTDiscBuilder< FilteredView >::sortNS(), CmsTrackerRingBuilder< FilteredView >::sortNS(), CmsTrackerPixelPhase2RingBuilder< FilteredView >::sortNS(), CmsTrackerOTLayerBuilder< FilteredView >::sortNS(), CmsTrackerRodBuilder< FilteredView >::sortNS(), CmsTrackerOTRingBuilder< FilteredView >::sortNS(), CmsTrackerPhase2TPDiskBuilder< FilteredView >::sortNS(), CmsTrackerPhase1DiskBuilder< FilteredView >::sortNS(), CmsTrackerLadderBuilder< FilteredView >::sortNS(), CmsTrackerDiskBuilder< FilteredView >::sortNS(), CmsTrackerPanelBuilder< FilteredView >::sortNS(), CmsTrackerWheelBuilder< FilteredView >::sortNS(), CmsTrackerPetalBuilder< FilteredView >::sortNS(), CmsTrackerLayerBuilder< FilteredView >::sortNS(), CmsTrackerSubStrctBuilder< FilteredView >::sortNS(), CmsTrackerPixelPhase1EndcapBuilder< FilteredView >::sortNS(), CmsTrackerPixelPhase2EndcapBuilder< FilteredView >::sortNS(), CmsTrackerBuilder< FilteredView >::sortNS(), and TrackerGeometry::TrackerGeometry().

◆ components() [2/2]

const ConstGeometricDetContainer& GeometricDet::components ( ) const
inline

Definition at line 150 of file GeometricDet.h.

150 { return container_; }

References container_.

◆ computeLegacyShapeParameters()

std::vector< double > GeometricDet::computeLegacyShapeParameters ( const cms::DDSolidShape mySolidShape,
const dd4hep::Solid &  mySolid 
) const
private

Definition at line 274 of file GeometricDet.cc.

275  {
276  std::vector<double> myOldDDShapeParameters;
277 
278  // Box
279  if (mySolidShape == cms::DDSolidShape::ddbox) {
280  const dd4hep::Box& myBox = dd4hep::Box(mySolid);
281  myOldDDShapeParameters = {geant_units::operators::convertCmToMm(myBox.x()),
284  }
285 
286  // Trapezoid
287  else if (mySolidShape == cms::DDSolidShape::ddtrap) {
288  const dd4hep::Trap& myTrap = dd4hep::Trap(mySolid);
289  myOldDDShapeParameters = {geant_units::operators::convertCmToMm(myTrap->GetDZ()),
290  static_cast<double>(angle_units::operators::convertDegToRad(myTrap->GetTheta())),
291  static_cast<double>(angle_units::operators::convertDegToRad(myTrap->GetPhi())),
292  geant_units::operators::convertCmToMm(myTrap->GetH1()),
293  geant_units::operators::convertCmToMm(myTrap->GetBl1()),
294  geant_units::operators::convertCmToMm(myTrap->GetTl1()),
295  static_cast<double>(angle_units::operators::convertDegToRad(myTrap->GetAlpha1())),
296  geant_units::operators::convertCmToMm(myTrap->GetH2()),
297  geant_units::operators::convertCmToMm(myTrap->GetBl2()),
298  geant_units::operators::convertCmToMm(myTrap->GetTl2()),
299  static_cast<double>(angle_units::operators::convertDegToRad(myTrap->GetAlpha2()))};
300  }
301 
302  // Tub
303  else if (mySolidShape == cms::DDSolidShape::ddtubs) {
304  const dd4hep::Tube& myTube = dd4hep::Tube(mySolid);
305  myOldDDShapeParameters = {
306  geant_units::operators::convertCmToMm(myTube->GetDz()),
307  geant_units::operators::convertCmToMm(myTube->GetRmin()),
308  geant_units::operators::convertCmToMm(myTube->GetRmax()),
309  static_cast<double>(fmod(angle_units::operators::convertDegToRad(myTube->GetPhi1()), 2. * M_PI) - 2. * M_PI),
310  static_cast<double>(angle_units::operators::convertDegToRad(myTube->GetPhi2() - myTube->GetPhi1()))};
311  }
312 
313  return myOldDDShapeParameters;
314 }

References geant_units::operators::convertCmToMm(), angle_units::operators::convertDegToRad(), cms::ddbox, cms::ddtrap, cms::ddtubs, and M_PI.

◆ deepComponents() [1/2]

GeometricDet::ConstGeometricDetContainer GeometricDet::deepComponents ( ) const

◆ deepComponents() [2/2]

void GeometricDet::deepComponents ( ConstGeometricDetContainer cont) const

Definition at line 233 of file GeometricDet.cc.

233  {
234  if (isLeaf())
235  cont.emplace_back(this);
236  else
237  std::for_each(container_.begin(), container_.end(), [&](const GeometricDet* iDet) { iDet->deepComponents(cont); });
238 }

References generateEDF::cont, container_, and isLeaf().

◆ deleteComponents()

void GeometricDet::deleteComponents ( )

Definition at line 258 of file GeometricDet.cc.

258  {
259  std::for_each(container_.begin(), container_.end(), Deleter());
260  container_.clear();
261 }

References container_.

Referenced by ~GeometricDet().

◆ geographicalId()

const DetId& GeometricDet::geographicalId ( ) const
inline

◆ isFromDD4hep()

bool GeometricDet::isFromDD4hep ( ) const
inline

Definition at line 142 of file GeometricDet.h.

142 { return isFromDD4hep_; }

References isFromDD4hep_.

◆ isLeaf()

bool GeometricDet::isLeaf ( ) const
inline

Definition at line 146 of file GeometricDet.h.

146 { return container_.empty(); }

References container_.

Referenced by deepComponents().

◆ isLowerSensor()

bool GeometricDet::isLowerSensor ( ) const
inline

◆ isUpperSensor()

bool GeometricDet::isUpperSensor ( ) const
inline

◆ name()

const std::string& GeometricDet::name ( void  ) const
inline

◆ navpos()

NavRange GeometricDet::navpos ( ) const
inline

Definition at line 95 of file GeometricDet.h.

95 { return NavRange(&ddd_.front(), ddd_.size()); }

References ddd_.

◆ navType()

const nav_type& GeometricDet::navType ( ) const
inline

Definition at line 94 of file GeometricDet.h.

94 { return ddd_; }

References ddd_.

Referenced by PGeometricDetBuilder::putOne().

◆ params()

const std::vector<double>& GeometricDet::params ( ) const
inline

Definition at line 116 of file GeometricDet.h.

116  {
119  edm::LogError("GeometricDet::params()")
120  << "Called on a shape which is neither a box, a trap, nor a tub. This is not supported!";
121  }
122  return params_;
123  } // in mm

References cms::ddbox, cms::ddtrap, cms::ddtubs, params_, and shape_.

Referenced by DDDCmsTrackerContruction::printAllTrackerGeometricDetsBeforeDetIDBuilding(), PGeometricDetBuilder::putOne(), and CmsTrackerLayerBuilder< FilteredView >::sortNS().

◆ phi()

double GeometricDet::phi ( void  ) const
inline

◆ pixROCCols()

double GeometricDet::pixROCCols ( ) const
inline

◆ pixROCRows()

double GeometricDet::pixROCRows ( ) const
inline

◆ pixROCx()

double GeometricDet::pixROCx ( ) const
inline

◆ pixROCy()

double GeometricDet::pixROCy ( ) const
inline

◆ positionBounds()

GeometricDet::Position GeometricDet::positionBounds ( ) const

Definition at line 204 of file GeometricDet.cc.

204  {
205  Position pos_(static_cast<float>(geant_units::operators::convertMmToCm(trans_.x())),
206  static_cast<float>(geant_units::operators::convertMmToCm(trans_.y())),
207  static_cast<float>(geant_units::operators::convertMmToCm(trans_.z())));
208  return pos_;
209 }

References geant_units::operators::convertMmToCm(), and trans_.

Referenced by PlaneBuilderFromGeometricDet::plane().

◆ radLength()

double GeometricDet::radLength ( ) const
inline

◆ rho()

double GeometricDet::rho ( ) const
inline

◆ rotation()

const RotationMatrix& GeometricDet::rotation ( void  ) const
inline

◆ rotationBounds()

GeometricDet::Rotation GeometricDet::rotationBounds ( ) const

Definition at line 211 of file GeometricDet.cc.

211  {
212  Translation x, y, z;
213  rot_.GetComponents(x, y, z);
214  Rotation rotation_(float(x.X()),
215  float(x.Y()),
216  float(x.Z()),
217  float(y.X()),
218  float(y.Y()),
219  float(y.Z()),
220  float(z.X()),
221  float(z.Y()),
222  float(z.Z()));
223  return rotation_;
224 }

References rot_, x, y, and z.

Referenced by PlaneBuilderFromGeometricDet::plane().

◆ setGeographicalID()

void GeometricDet::setGeographicalID ( DetId  id)
inline

◆ shape()

LegacySolidShape GeometricDet::shape ( void  ) const
inline

◆ shape_dd4hep()

const cms::DDSolidShape& GeometricDet::shape_dd4hep ( ) const
inline

◆ siliconAPVNum()

double GeometricDet::siliconAPVNum ( ) const
inline

◆ stereo()

bool GeometricDet::stereo ( ) const
inline

◆ translation()

const Translation& GeometricDet::translation ( void  ) const
inline

◆ type()

const GeometricEnumType& GeometricDet::type ( ) const
inline

◆ xi()

double GeometricDet::xi ( ) const
inline

Member Data Documentation

◆ container_

ConstGeometricDetContainer GeometricDet::container_
private

◆ ddd_

nav_type GeometricDet::ddd_
private

Definition at line 173 of file GeometricDet.h.

Referenced by GeometricDet(), navpos(), and navType().

◆ ddname_

std::string GeometricDet::ddname_
private

Definition at line 170 of file GeometricDet.h.

Referenced by name().

◆ geographicalID_

DetId GeometricDet::geographicalID_
private

Definition at line 174 of file GeometricDet.h.

Referenced by geographicalId(), and setGeographicalID().

◆ isFromDD4hep_

bool GeometricDet::isFromDD4hep_
private

Definition at line 195 of file GeometricDet.h.

Referenced by isFromDD4hep().

◆ isLowerSensor_

bool GeometricDet::isLowerSensor_
private

Definition at line 191 of file GeometricDet.h.

Referenced by isLowerSensor().

◆ isUpperSensor_

bool GeometricDet::isUpperSensor_
private

Definition at line 192 of file GeometricDet.h.

Referenced by isUpperSensor().

◆ params_

std::vector<double> GeometricDet::params_
private

Definition at line 182 of file GeometricDet.h.

Referenced by bounds(), GeometricDet(), and params().

◆ phi_

double GeometricDet::phi_
private

Definition at line 178 of file GeometricDet.h.

Referenced by phi().

◆ pixROCCols_

double GeometricDet::pixROCCols_
private

Definition at line 187 of file GeometricDet.h.

Referenced by pixROCCols().

◆ pixROCRows_

double GeometricDet::pixROCRows_
private

Definition at line 186 of file GeometricDet.h.

Referenced by pixROCRows().

◆ pixROCx_

double GeometricDet::pixROCx_
private

Definition at line 188 of file GeometricDet.h.

Referenced by pixROCx().

◆ pixROCy_

double GeometricDet::pixROCy_
private

Definition at line 189 of file GeometricDet.h.

Referenced by pixROCy().

◆ radLength_

double GeometricDet::radLength_
private

Definition at line 184 of file GeometricDet.h.

Referenced by GeometricDet(), and radLength().

◆ rho_

double GeometricDet::rho_
private

Definition at line 177 of file GeometricDet.h.

Referenced by rho().

◆ rot_

RotationMatrix GeometricDet::rot_
private

Definition at line 179 of file GeometricDet.h.

Referenced by rotation(), and rotationBounds().

◆ shape_

cms::DDSolidShape GeometricDet::shape_
private

Definition at line 181 of file GeometricDet.h.

Referenced by bounds(), params(), shape(), and shape_dd4hep().

◆ siliconAPVNum_

double GeometricDet::siliconAPVNum_
private

Definition at line 193 of file GeometricDet.h.

Referenced by siliconAPVNum().

◆ stereo_

bool GeometricDet::stereo_
private

Definition at line 190 of file GeometricDet.h.

Referenced by stereo().

◆ trans_

Translation GeometricDet::trans_
private

Definition at line 176 of file GeometricDet.h.

Referenced by positionBounds(), and translation().

◆ type_

GeometricEnumType GeometricDet::type_
private

◆ xi_

double GeometricDet::xi_
private

Definition at line 185 of file GeometricDet.h.

Referenced by GeometricDet(), and xi().

cms::DDFilteredView::rotation
const RotationMatrix rotation() const
Definition: DDFilteredView.cc:122
GeometricDet::ddname_
std::string ddname_
Definition: GeometricDet.h:170
PGeometricDet::Item::_params3
double _params3
Definition: PGeometricDet.h:25
PGeometricDet::Item::_a13
double _a13
Definition: PGeometricDet.h:24
GeometricDet::OTPhase2Layer
Definition: GeometricDet.h:73
DDAxes::y
PGeometricDet::Item::_a11
double _a11
Definition: PGeometricDet.h:24
GeometricDet::rot_
RotationMatrix rot_
Definition: GeometricDet.h:179
PGeometricDet::Item::_params6
double _params6
Definition: PGeometricDet.h:25
GeometricDet::PixelEndCap
Definition: GeometricDet.h:52
GeometricDet::geographicalID_
DetId geographicalID_
Definition: GeometricDet.h:174
PGeometricDet::Item::_phi
double _phi
Definition: PGeometricDet.h:21
cms::DDFilteredView::navPos
nav_type navPos() const
return the stack of sibling numbers which indicates
Definition: DDFilteredView.cc:624
PGeometricDet::Item::_geographicalID
int _geographicalID
Definition: PGeometricDet.h:44
PGeometricDet::Item::_radLength
double _radLength
Definition: PGeometricDet.h:27
PGeometricDet::Item::_a31
double _a31
Definition: PGeometricDet.h:24
cms::DDSolidShape::ddtubs
GeometricDet::PixelPhase2ReducedDisk
Definition: GeometricDet.h:79
PGeometricDet::Item::_nt0
int _nt0
Definition: PGeometricDet.h:42
GeometricDet::petal
Definition: GeometricDet.h:61
filterCSVwithJSON.copy
copy
Definition: filterCSVwithJSON.py:36
PGeometricDet::Item::_pixROCCols
double _pixROCCols
Definition: PGeometricDet.h:30
nt
int nt
Definition: AMPTWrapper.h:42
PGeometricDet::Item::_a12
double _a12
Definition: PGeometricDet.h:24
GeometricDet::isUpperSensor_
bool isUpperSensor_
Definition: GeometricDet.h:192
GeometricDet::rod
Definition: GeometricDet.h:60
PGeometricDet::Item::_params4
double _params4
Definition: PGeometricDet.h:25
GeometricDet::TID
Definition: GeometricDet.h:54
PGeometricDet::Item::_a21
double _a21
Definition: PGeometricDet.h:24
cms::LegacySolidShapeMap
const std::array< const cms::dd::ValuePair< LegacySolidShape, cms::DDSolidShape >, 20 > LegacySolidShapeMap
Definition: DDSolidShapes.h:118
GeometricDet::DetUnit
Definition: GeometricDet.h:65
GeometricDet::ladder
Definition: GeometricDet.h:63
PGeometricDet::Item::_a23
double _a23
Definition: PGeometricDet.h:24
angle_units::operators::convertDegToRad
constexpr long double convertDegToRad(NumType degrees)
Definition: angle_units.h:27
GeometricDet::rho_
double rho_
Definition: GeometricDet.h:177
DDFilteredView::navPos
nav_type navPos() const
return the stack of sibling numbers
Definition: DDFilteredView.cc:191
generateEDF.cont
cont
load Luminosity info ##
Definition: generateEDF.py:629
GeometricDet::pixROCx_
double pixROCx_
Definition: GeometricDet.h:188
PGeometricDet::Item::_nt5
int _nt5
Definition: PGeometricDet.h:42
PGeometricDet::Item::_y
double _y
Definition: PGeometricDet.h:19
PGeometricDet::Item::_a32
double _a32
Definition: PGeometricDet.h:24
GeometricDet::isFromDD4hep_
bool isFromDD4hep_
Definition: GeometricDet.h:195
GeometricDet::isLowerSensor_
bool isLowerSensor_
Definition: GeometricDet.h:191
PGeometricDet::Item::_nt3
int _nt3
Definition: PGeometricDet.h:42
GeometricDet::PixelBarrel
Definition: GeometricDet.h:51
GeometricDet::container_
ConstGeometricDetContainer container_
Definition: GeometricDet.h:197
PGeometricDet::Item::_pixROCx
double _pixROCx
Definition: PGeometricDet.h:31
PGeometricDet::Item::_xi
double _xi
Definition: PGeometricDet.h:28
GeometricDet::OTPhase2Barrel
Definition: GeometricDet.h:72
GeometricDet::ring
Definition: GeometricDet.h:62
DDAxes::x
GeometricDet::pixROCCols_
double pixROCCols_
Definition: GeometricDet.h:187
PGeometricDet::Item::_nt7
int _nt7
Definition: PGeometricDet.h:42
cms::dd::name_from_value
Mapping::value_type::name_type name_from_value(Mapping a, V value)
Definition: DDSolidShapes.h:62
GeometricDet::wheel
Definition: GeometricDet.h:58
cms::DDFilteredView::findSpecPar
void findSpecPar(T const &first, Ts const &... rest)
find a current Node SpecPar that has at least
Definition: DDFilteredView.h:230
GeometricDet::xi_
double xi_
Definition: GeometricDet.h:185
GeometricDet::Tracker
Definition: GeometricDet.h:50
PGeometricDet::Item::_stereo
bool _stereo
Definition: PGeometricDet.h:45
cms::DDFilteredView::name
std::string_view name() const
Definition: DDFilteredView.cc:853
cms::DDFilteredView::translation
const Translation translation() const
Definition: DDFilteredView.cc:103
DDFilteredView::parameters
const std::vector< double > & parameters() const
Definition: DDFilteredView.cc:24
GeometricDet::phi_
double phi_
Definition: GeometricDet.h:178
cms::DDFilteredView::get
T get(const std::string &)
extract attribute value
cms::DDFilteredView::solid
dd4hep::Solid solid() const
Definition: DDFilteredView.cc:861
GeometricDet::PixelPhase1Disk
Definition: GeometricDet.h:70
GeometricDet::PixelPhase1EndCap
Definition: GeometricDet.h:69
GeometricDet::mergedDet
Definition: GeometricDet.h:64
GeometricDet::deleteComponents
void deleteComponents()
Definition: GeometricDet.cc:258
PGeometricDet::Item::_a33
double _a33
Definition: PGeometricDet.h:24
PGeometricDet::Item::_siliconAPVNum
double _siliconAPVNum
Definition: PGeometricDet.h:33
GeometricDet::PixelPhase2Barrel
Definition: GeometricDet.h:75
DDAxes::z
GeometricDet::computeLegacyShapeParameters
std::vector< double > computeLegacyShapeParameters(const cms::DDSolidShape &mySolidShape, const dd4hep::Solid &mySolid) const
Definition: GeometricDet.cc:274
GeometricDet::disk
Definition: GeometricDet.h:66
GeometricDet
Definition: GeometricDet.h:31
PGeometricDet::Item::_nt1
int _nt1
Definition: PGeometricDet.h:42
cms::DDFilteredView::shape
const cms::DDSolidShape shape() const
Definition: DDFilteredView.cc:553
GeometricDet::PixelPhase2TDRDisk
Definition: GeometricDet.h:80
GeometricDet::unknown
Definition: GeometricDet.h:49
GeometricDet::GeometricEnumType
enum GeometricDet::GDEnumType GeometricEnumType
PGeometricDet::Item::_z
double _z
Definition: PGeometricDet.h:20
cms::dd::value
Mapping::value_type::value_type value(Mapping a, const std::string &name)
Definition: DDSolidShapes.h:42
PGeometricDet::Item::_params8
double _params8
Definition: PGeometricDet.h:25
GeometricDet::PixelPhase2EndCap
Definition: GeometricDet.h:76
GeometricDet::nav_type
std::vector< int > nav_type
Definition: GeometricDet.h:42
PGeometricDet::Item::_nt6
int _nt6
Definition: PGeometricDet.h:42
PGeometricDet::Item::_nt9
int _nt9
Definition: PGeometricDet.h:42
GeometricDet::ddd_
nav_type ddd_
Definition: GeometricDet.h:173
PGeometricDet::Item::_params9
double _params9
Definition: PGeometricDet.h:25
geant_units::operators::convertCmToMm
constexpr NumType convertCmToMm(NumType centimeters)
Definition: GeantUnits.h:68
GeometricDet::PixelPhase1Barrel
Definition: GeometricDet.h:68
type
type
Definition: SiPixelVCal_PayloadInspector.cc:37
GeometricDet::trans_
Translation trans_
Definition: GeometricDet.h:176
PGeometricDet::Item::_nt2
int _nt2
Definition: PGeometricDet.h:42
GeometricDet::OTPhase2EndCap
Definition: GeometricDet.h:71
GeometricDet::type_
GeometricEnumType type_
Definition: GeometricDet.h:171
GeometricDet::radLength_
double radLength_
Definition: GeometricDet.h:184
PGeometricDet::Item::_x
double _x
Definition: PGeometricDet.h:18
DDFilteredView::shape
const DDSolidShape shape() const
Definition: DDFilteredView.cc:20
cms::DDSolidShape::ddtrap
cms::DDSolidShape::ddbox
GeometricDet::TIB
Definition: GeometricDet.h:53
M_PI
#define M_PI
Definition: BXVectorInputProducer.cc:49
Translation
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > Translation
Definition: PGeometricDetBuilder.cc:20
PGeometricDet::Item::_numnt
int _numnt
Definition: PGeometricDet.h:41
PGeometricDet::Item::_params1
double _params1
Definition: PGeometricDet.h:25
PGeometricDet::Item::_nt8
int _nt8
Definition: PGeometricDet.h:42
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
PGeometricDet::Item::_nt4
int _nt4
Definition: PGeometricDet.h:42
PGeometricDet::Item::_params7
double _params7
Definition: PGeometricDet.h:25
GeometricDet::panel
Definition: GeometricDet.h:67
GeometricDet::deepComponents
ConstGeometricDetContainer deepComponents() const
Definition: GeometricDet.cc:226
PGeometricDet::Item::_name
std::string _name
Definition: PGeometricDet.h:15
PGeometricDet::Item::_shape
int _shape
Definition: PGeometricDet.h:36
PGeometricDet::Item::_nt10
int _nt10
Definition: PGeometricDet.h:42
cms::DDFilteredView::getNextValue
double getNextValue(const std::string &) const
extract another value from the same SpecPar
Definition: DDFilteredView.cc:840
GeometricDet::stereo_
bool stereo_
Definition: GeometricDet.h:190
GeometricDet::Position
Surface::PositionType Position
Definition: GeometricDet.h:45
GeometricDet::Rotation
Surface::RotationType Rotation
Definition: GeometricDet.h:46
GeometricDet::OTPhase2Wheel
Definition: GeometricDet.h:77
GeometricDet::OTPhase2Stack
Definition: GeometricDet.h:74
GeometricDet::PixelPhase2FullDisk
Definition: GeometricDet.h:78
PGeometricDet::Item::_params5
double _params5
Definition: PGeometricDet.h:25
PGeometricDet::Item::_rho
double _rho
Definition: PGeometricDet.h:22
GeometricDet::ConstGeometricDetContainer
std::vector< GeometricDet const * > ConstGeometricDetContainer
Definition: GeometricDet.h:34
GeometricDet::TOB
Definition: GeometricDet.h:55
triggerObjects_cff.id
id
Definition: triggerObjects_cff.py:31
DDFilteredView::translation
const DDTranslation & translation() const
The absolute translation of the current node.
Definition: DDFilteredView.cc:26
GeometricDet::pixROCRows_
double pixROCRows_
Definition: GeometricDet.h:186
GeometricDet::siliconAPVNum_
double siliconAPVNum_
Definition: GeometricDet.h:193
GeometricDet::shape_
cms::DDSolidShape shape_
Definition: GeometricDet.h:181
GeometricDet::layer
Definition: GeometricDet.h:57
GeometricDet::pixROCy_
double pixROCy_
Definition: GeometricDet.h:189
GeometricDet::isLeaf
bool isLeaf() const
Definition: GeometricDet.h:146
DDFilteredView::rotation
const DDRotationMatrix & rotation() const
The absolute rotation of the current node.
Definition: DDFilteredView.cc:28
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
geant_units::operators::convertMmToCm
constexpr NumType convertMmToCm(NumType millimeters)
Definition: GeantUnits.h:62
PGeometricDet::Item::_pixROCRows
double _pixROCRows
Definition: PGeometricDet.h:29
TrackerShapeToBounds
Definition: TrackerShapeToBounds.h:11
PGeometricDet::Item::_params0
double _params0
Definition: PGeometricDet.h:25
DDFilteredView::nav_type
DDExpandedView::nav_type nav_type
Definition: DDFilteredView.h:22
PGeometricDet::Item::_params2
double _params2
Definition: PGeometricDet.h:25
PGeometricDet::Item::_params10
double _params10
Definition: PGeometricDet.h:25
PGeometricDet::Item::_a22
double _a22
Definition: PGeometricDet.h:24
PGeometricDet::Item::_pixROCy
double _pixROCy
Definition: PGeometricDet.h:32
GeometricDet::TEC
Definition: GeometricDet.h:56
GeometricDet::NavRange
std::pair< int const *, size_t > NavRange
Definition: GeometricDet.h:33
DDFilteredView::name
const std::string & name() const
The name of a logical-part of the current node in the filtered-view.
Definition: DDFilteredView.cc:18
GeometricDet::params_
std::vector< double > params_
Definition: GeometricDet.h:182
TrackerShapeToBounds::buildBounds
Bounds * buildBounds(const cms::DDSolidShape &, const std::vector< double > &) const
Definition: TrackerShapeToBounds.cc:32
GeometricDet::strng
Definition: GeometricDet.h:59