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_ = 0
 
bool isFromDD4hep_ = false
 
bool isLowerSensor_ = false
 
bool isUpperSensor_ = false
 
std::vector< double > params_
 
double phi_ = 0.
 
double pixROCCols_ = 0.
 
double pixROCRows_ = 0.
 
double pixROCx_ = 0.
 
double pixROCy_ = 0.
 
double radLength_ = 0.
 
double rho_ = 0.
 
RotationMatrix rot_
 
cms::DDSolidShape shape_
 
double siliconAPVNum_ = 0.
 
bool stereo_ = false
 
Translation trans_
 
GeometricEnumType type_
 
double xi_ = 0.
 

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 71 of file GeometricDet.cc.

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

References ddd_, DetUnit, isLowerSensor_, isUpperSensor_, DDFilteredView::navPos(), nt, pixROCCols_, pixROCRows_, pixROCx_, pixROCy_, radLength_, siliconAPVNum_, stereo_, type_, and xi_.

◆ GeometricDet() [2/3]

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

Definition at line 104 of file GeometricDet.cc.

105  : ddname_(dd4hep::dd::noNamespace(fv->name())),
106  type_(type),
107  ddd_(fv->navPos()), // To remove after DetExtra is removed (not used)
108  trans_((fv->translation()) / dd4hep::mm),
109  rho_(trans_.Rho()),
110  phi_(trans_.Phi()),
111  rot_(fv->rotation()),
112  shape_(fv->shape()),
114  isFromDD4hep_(true) {
115  // Only look for sensor-related info on sensor volumes!
116  if (type_ == DetUnit) {
117  // IT sensors only (NB: hence could add a branch here, but not a critical part on perf)
118  pixROCRows_ = fv->get<double>("PixelROCRows");
119  pixROCCols_ = fv->get<double>("PixelROCCols");
120  pixROCx_ = fv->get<double>("PixelROC_X");
121  pixROCy_ = fv->get<double>("PixelROC_Y");
122 
123  // Phase 1 OT sensors only (NB: hence could add a branch here, but not a critical part on perf)
124  stereo_ = (fv->get<std::string_view>("TrackerStereoDetectors") == strue);
125  siliconAPVNum_ = fv->get<double>("SiliconAPVNumber");
126 
127  // Phase 2 OT sensors only (NB: hence could add a branch here, but not a critical part on perf)
128  isLowerSensor_ = (fv->get<std::string_view>("TrackerLowerDetectors") == strue);
129  isUpperSensor_ = (fv->get<std::string_view>("TrackerUpperDetectors") == strue);
130 
131  // All sensors: IT or OT, Phase 1 or Phase 2 (NB: critical part on perf)
132  fv->findSpecPar("TrackerRadLength", "TrackerXi");
133  radLength_ = fv->getNextValue("TrackerRadLength");
134  xi_ = fv->getNextValue("TrackerXi");
135  }
136 }

References DetUnit, cms::DDFilteredView::findSpecPar(), cms::DDFilteredView::get(), cms::DDFilteredView::getNextValue(), isLowerSensor_, isUpperSensor_, pixROCCols_, pixROCRows_, pixROCx_, pixROCy_, radLength_, siliconAPVNum_, stereo_, type_, and xi_.

◆ GeometricDet() [3/3]

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

Definition at line 141 of file GeometricDet.cc.

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

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 66 of file GeometricDet.cc.

66 { deleteComponents(); }

References deleteComponents().

Member Function Documentation

◆ addComponent()

void GeometricDet::addComponent ( GeometricDet det)

◆ addComponents() [1/2]

void GeometricDet::addComponents ( ConstGeometricDetContainer const &  cont)

Definition at line 261 of file GeometricDet.cc.

261  {
262  container_.reserve(container_.size() + cont.size());
263  std::copy(cont.begin(), cont.end(), back_inserter(container_));
264 }

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 215 of file GeometricDet.cc.

215  {
216  TrackerShapeToBounds shapeToBounds;
217  return std::unique_ptr<Bounds>(shapeToBounds.buildBounds(shape_, params_));
218 }

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::printAllTrackerGeometricDets(), 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 290 of file GeometricDet.cc.

291  {
292  std::vector<double> myOldDDShapeParameters;
293 
294  // Box
295  if (mySolidShape == cms::DDSolidShape::ddbox) {
296  const dd4hep::Box& myBox = dd4hep::Box(mySolid);
297  myOldDDShapeParameters = {(myBox.x()) / dd4hep::mm, (myBox.y()) / dd4hep::mm, (myBox.z()) / dd4hep::mm};
298  }
299 
300  // Trapezoid
301  else if (mySolidShape == cms::DDSolidShape::ddtrap) {
302  const dd4hep::Trap& myTrap = dd4hep::Trap(mySolid);
303  myOldDDShapeParameters = {(myTrap->GetDZ()) / dd4hep::mm,
304  static_cast<double>(angle_units::operators::convertDegToRad(myTrap->GetTheta())),
305  static_cast<double>(angle_units::operators::convertDegToRad(myTrap->GetPhi())),
306  (myTrap->GetH1()) / dd4hep::mm,
307  (myTrap->GetBl1()) / dd4hep::mm,
308  (myTrap->GetTl1()) / dd4hep::mm,
309  static_cast<double>(angle_units::operators::convertDegToRad(myTrap->GetAlpha1())),
310  (myTrap->GetH2()) / dd4hep::mm,
311  (myTrap->GetBl2()) / dd4hep::mm,
312  (myTrap->GetTl2()) / dd4hep::mm,
313  static_cast<double>(angle_units::operators::convertDegToRad(myTrap->GetAlpha2()))};
314  }
315 
316  // Tub
317  else if (mySolidShape == cms::DDSolidShape::ddtubs) {
318  const dd4hep::Tube& myTube = dd4hep::Tube(mySolid);
319  myOldDDShapeParameters = {
320  (myTube->GetDz()) / dd4hep::mm,
321  (myTube->GetRmin()) / dd4hep::mm,
322  (myTube->GetRmax()) / dd4hep::mm,
323  static_cast<double>(fmod(angle_units::operators::convertDegToRad(myTube->GetPhi1()), 2. * M_PI) - 2. * M_PI),
324  static_cast<double>(angle_units::operators::convertDegToRad(myTube->GetPhi2() - myTube->GetPhi1()))};
325  }
326 
327  return myOldDDShapeParameters;
328 }

References 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 249 of file GeometricDet.cc.

249  {
250  if (isLeaf())
251  cont.emplace_back(this);
252  else
253  std::for_each(container_.begin(), container_.end(), [&](const GeometricDet* iDet) { iDet->deepComponents(cont); });
254 }

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

◆ deleteComponents()

void GeometricDet::deleteComponents ( )

Definition at line 274 of file GeometricDet.cc.

274  {
275  std::for_each(container_.begin(), container_.end(), Deleter());
276  container_.clear();
277 }

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::printAllTrackerGeometricDets(), PGeometricDetBuilder::putOne(), and CmsTrackerLayerBuilder< FilteredView >::sortNS().

◆ phi()

double GeometricDet::phi ( void  ) const
inline

◆ pixROCCols()

double GeometricDet::pixROCCols ( ) const
inline

Definition at line 132 of file GeometricDet.h.

132 { return pixROCCols_; }

References pixROCCols_.

Referenced by DDDCmsTrackerContruction::printAllTrackerGeometricDets(), and PGeometricDetBuilder::putOne().

◆ pixROCRows()

double GeometricDet::pixROCRows ( ) const
inline

Definition at line 131 of file GeometricDet.h.

131 { return pixROCRows_; }

References pixROCRows_.

Referenced by DDDCmsTrackerContruction::printAllTrackerGeometricDets(), and PGeometricDetBuilder::putOne().

◆ pixROCx()

double GeometricDet::pixROCx ( ) const
inline

Definition at line 133 of file GeometricDet.h.

133 { return pixROCx_; }

References pixROCx_.

Referenced by DDDCmsTrackerContruction::printAllTrackerGeometricDets(), and PGeometricDetBuilder::putOne().

◆ pixROCy()

double GeometricDet::pixROCy ( ) const
inline

Definition at line 134 of file GeometricDet.h.

134 { return pixROCy_; }

References pixROCy_.

Referenced by DDDCmsTrackerContruction::printAllTrackerGeometricDets(), and PGeometricDetBuilder::putOne().

◆ positionBounds()

GeometricDet::Position GeometricDet::positionBounds ( ) const

Definition at line 220 of file GeometricDet.cc.

220  {
221  Position pos_(static_cast<float>(geant_units::operators::convertMmToCm(trans_.x())),
222  static_cast<float>(geant_units::operators::convertMmToCm(trans_.y())),
223  static_cast<float>(geant_units::operators::convertMmToCm(trans_.z())));
224  return pos_;
225 }

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

Definition at line 103 of file GeometricDet.h.

103 { return rot_; }

References rot_.

Referenced by DDDCmsTrackerContruction::printAllTrackerGeometricDets(), and PGeometricDetBuilder::putOne().

◆ rotationBounds()

GeometricDet::Rotation GeometricDet::rotationBounds ( ) const

Definition at line 227 of file GeometricDet.cc.

227  {
228  Translation x, y, z;
229  rot_.GetComponents(x, y, z);
230  Rotation rotation_(float(x.X()),
231  float(x.Y()),
232  float(x.Z()),
233  float(y.X()),
234  float(y.Y()),
235  float(y.Z()),
236  float(z.X()),
237  float(z.Y()),
238  float(z.Z()));
239  return rotation_;
240 }

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

Definition at line 114 of file GeometricDet.h.

114 { return shape_; }

References shape_.

Referenced by DDDCmsTrackerContruction::printAllTrackerGeometricDets(), and PGeometricDetBuilder::putOne().

◆ 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

Definition at line 91 of file GeometricDet.h.

91 { return type_; }

References type_.

Referenced by DDDCmsTrackerContruction::printAllTrackerGeometricDets(), and PGeometricDetBuilder::putOne().

◆ 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_ = 0
private

Definition at line 174 of file GeometricDet.h.

Referenced by geographicalId(), and setGeographicalID().

◆ isFromDD4hep_

bool GeometricDet::isFromDD4hep_ = false
private

Definition at line 195 of file GeometricDet.h.

Referenced by isFromDD4hep().

◆ isLowerSensor_

bool GeometricDet::isLowerSensor_ = false
private

Definition at line 191 of file GeometricDet.h.

Referenced by GeometricDet(), and isLowerSensor().

◆ isUpperSensor_

bool GeometricDet::isUpperSensor_ = false
private

Definition at line 192 of file GeometricDet.h.

Referenced by GeometricDet(), and 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_ = 0.
private

Definition at line 178 of file GeometricDet.h.

Referenced by phi().

◆ pixROCCols_

double GeometricDet::pixROCCols_ = 0.
private

Definition at line 187 of file GeometricDet.h.

Referenced by GeometricDet(), and pixROCCols().

◆ pixROCRows_

double GeometricDet::pixROCRows_ = 0.
private

Definition at line 186 of file GeometricDet.h.

Referenced by GeometricDet(), and pixROCRows().

◆ pixROCx_

double GeometricDet::pixROCx_ = 0.
private

Definition at line 188 of file GeometricDet.h.

Referenced by GeometricDet(), and pixROCx().

◆ pixROCy_

double GeometricDet::pixROCy_ = 0.
private

Definition at line 189 of file GeometricDet.h.

Referenced by GeometricDet(), and pixROCy().

◆ radLength_

double GeometricDet::radLength_ = 0.
private

Definition at line 184 of file GeometricDet.h.

Referenced by GeometricDet(), and radLength().

◆ rho_

double GeometricDet::rho_ = 0.
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_ = 0.
private

Definition at line 193 of file GeometricDet.h.

Referenced by GeometricDet(), and siliconAPVNum().

◆ stereo_

bool GeometricDet::stereo_ = false
private

Definition at line 190 of file GeometricDet.h.

Referenced by GeometricDet(), and 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_ = 0.
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:854
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:862
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:274
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:290
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
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:242
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:841
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:29
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