CMS 3D CMS Logo

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

#include <DetGeomDesc.h>

Public Types

using Container = std::vector< DetGeomDesc * >
 
enum  CopyMode { cmWithChildren, cmWithoutChildren }
 
using RotationMatrix = ROOT::Math::Rotation3D
 
using Translation = ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > >
 

Public Member Functions

void addComponent (DetGeomDesc *)
 
void applyAlignment (const CTPPSRPAlignmentCorrectionData &)
 
const Containercomponents () const
 
int copyno () const
 
 DetGeomDesc (const cms::DDFilteredView &fv)
 
 DetGeomDesc (const DDFilteredView &fv)
 
 DetGeomDesc (const DetGeomDesc &ref, CopyMode cm=cmWithChildren)
 
DetId geographicalID () const
 
const DiamondDimensionsgetDiamondDimensions () const
 
bool isABox () const
 
bool isDD4hep () const
 
bool isLeaf () const
 
const std::string & name () const
 
const std::vector< double > & params () const
 
float parentZPosition () const
 
void print () const
 
const RotationMatrixrotation () const
 
const std::string & sensorType () const
 
const Translationtranslation () const
 
virtual ~DetGeomDesc ()
 

Private Member Functions

void clearComponents ()
 
DetId computeDetID (const std::string &name, const std::vector< int > &copyNos, unsigned int copyNum) const
 
DetId computeDetIDFromDD4hep (const std::string &name, const std::vector< int > &copyNos, unsigned int copyNum) const
 
DiamondDimensions computeDiamondDimensions (const bool isABox, const bool isDD4hep, const std::vector< double > &params) const
 
std::string computeNameWithNoNamespace (std::string_view nameFromView) const
 
std::vector< double > computeParameters (const cms::DDFilteredView &fv) const
 
std::string computeSensorType (std::string_view name)
 
void deepDeleteComponents ()
 
void deleteComponents ()
 

Private Attributes

Container m_container
 
int m_copy
 
DiamondDimensions m_diamondBoxParams
 
DetId m_geographicalID
 
bool m_isABox
 
bool m_isDD4hep
 
std::string m_name
 
std::vector< double > m_params
 
RotationMatrix m_rot
 
std::string m_sensorType
 
Translation m_trans
 
float m_z
 

Detailed Description

Definition at line 49 of file DetGeomDesc.h.

Member Typedef Documentation

◆ Container

using DetGeomDesc::Container = std::vector<DetGeomDesc*>

Definition at line 51 of file DetGeomDesc.h.

◆ RotationMatrix

using DetGeomDesc::RotationMatrix = ROOT::Math::Rotation3D

Definition at line 52 of file DetGeomDesc.h.

◆ Translation

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

Definition at line 53 of file DetGeomDesc.h.

Member Enumeration Documentation

◆ CopyMode

Enumerator
cmWithChildren 
cmWithoutChildren 

Definition at line 62 of file DetGeomDesc.h.

Constructor & Destructor Documentation

◆ DetGeomDesc() [1/3]

DetGeomDesc::DetGeomDesc ( const DDFilteredView fv)

Definition at line 28 of file DetGeomDesc.cc.

31  m_copy(fv.copyno()),
32  m_isDD4hep(false),
33  m_trans(fv.translation()), // mm (legacy)
34  m_rot(fv.rotation()),
35  m_params(fv.parameters()), // default unit from old DD (mm)
40  m_z(fv.translation().z()) // mm (legacy)

References ddbox.

◆ DetGeomDesc() [2/3]

DetGeomDesc::DetGeomDesc ( const cms::DDFilteredView fv)

Definition at line 45 of file DetGeomDesc.cc.

48  m_copy(fv.copyNum()),
49  m_isDD4hep(true),
50  m_trans(geant_units::operators::convertCmToMm(fv.translation())), // converted from cm (DD4hep) to mm
51  m_rot(fv.rotation()),
52  m_params(computeParameters(fv)), // default unit from DD4hep (cm)
53  m_isABox(dd4hep::isA<dd4hep::Box>(fv.solid())),
54  m_diamondBoxParams(computeDiamondDimensions(m_isABox, m_isDD4hep, m_params)), // converted from cm (DD4hep) to mm
57  m_z(geant_units::operators::convertCmToMm(fv.translation().z())) // converted from cm (DD4hep) to mm

◆ ~DetGeomDesc()

DetGeomDesc::~DetGeomDesc ( )
virtual

Definition at line 77 of file DetGeomDesc.cc.

References deepDeleteComponents().

◆ DetGeomDesc() [3/3]

DetGeomDesc::DetGeomDesc ( const DetGeomDesc ref,
CopyMode  cm = cmWithChildren 
)

Definition at line 59 of file DetGeomDesc.cc.

60  {
61  m_name = ref.m_name;
62  m_copy = ref.m_copy;
63  m_isDD4hep = ref.m_isDD4hep;
64  m_trans = ref.m_trans;
65  m_rot = ref.m_rot;
66  m_params = ref.m_params;
67  m_isABox = ref.m_isABox;
71 
72  if (cm == cmWithChildren)
74 
75  m_z = ref.m_z;

References cmWithChildren, m_container, m_copy, m_diamondBoxParams, m_geographicalID, m_isABox, m_isDD4hep, m_name, m_params, m_rot, m_sensorType, m_trans, and m_z.

Member Function Documentation

◆ addComponent()

void DetGeomDesc::addComponent ( DetGeomDesc det)

◆ applyAlignment()

void DetGeomDesc::applyAlignment ( const CTPPSRPAlignmentCorrectionData t)

Definition at line 81 of file DetGeomDesc.cc.

82  {
83  m_rot = t.getRotationMatrix() * m_rot;
84  m_trans = t.getTranslation() + m_trans;

References m_rot, m_trans, and submitPVValidationJobs::t.

Referenced by CTPPSGeometryESModule::applyAlignments().

◆ clearComponents()

void DetGeomDesc::clearComponents ( )
inlineprivate

Definition at line 110 of file DetGeomDesc.h.

111 { m_container.resize(0); }

Referenced by deepDeleteComponents().

◆ components()

const Container& DetGeomDesc::components ( ) const
inline

◆ computeDetID()

DetId DetGeomDesc::computeDetID ( const std::string &  name,
const std::vector< int > &  copyNos,
unsigned int  copyNum 
) const
private

Definition at line 166 of file DetGeomDesc.cc.

167  {
168  DetId geoID;
169 
170  // strip sensors
172  // check size of copy numbers array
173  if (copyNos.size() < 3)
174  throw cms::Exception("DDDTotemRPContruction")
175  << "size of copyNumbers for strip sensor is " << copyNos.size() << ". It must be >= 3.";
176 
177  // extract information
178  const unsigned int decRPId = copyNos[copyNos.size() - 3];
179  const unsigned int arm = decRPId / 100;
180  const unsigned int station = (decRPId % 100) / 10;
181  const unsigned int rp = decRPId % 10;
182  const unsigned int detector = copyNos[copyNos.size() - 1];
183  geoID = TotemRPDetId(arm, station, rp, detector);
184  }
185 
186  // strip and pixels RPs
188  unsigned int decRPId = copyNum;
189 
190  // check if it is a pixel RP
191  if (decRPId >= 10000) {
192  decRPId = decRPId % 10000;
193  const unsigned int armIdx = (decRPId / 100) % 10;
194  const unsigned int stIdx = (decRPId / 10) % 10;
195  const unsigned int rpIdx = decRPId % 10;
196  geoID = CTPPSPixelDetId(armIdx, stIdx, rpIdx);
197  } else {
198  const unsigned int armIdx = (decRPId / 100) % 10;
199  const unsigned int stIdx = (decRPId / 10) % 10;
200  const unsigned int rpIdx = decRPId % 10;
201  geoID = TotemRPDetId(armIdx, stIdx, rpIdx);
202  }
203  }
204 
205  else if (std::regex_match(name, std::regex(DDD_TOTEM_TIMING_SENSOR_TMPL))) {
206  // check size of copy numbers array
207  if (copyNos.size() < 4)
208  throw cms::Exception("DDDTotemRPContruction")
209  << "size of copyNumbers for TOTEM timing sensor is " << copyNos.size() << ". It must be >= 4.";
210 
211  const unsigned int decRPId = copyNos[copyNos.size() - 4];
212  const unsigned int arm = decRPId / 100, station = (decRPId % 100) / 10, rp = decRPId % 10;
213  const unsigned int plane = copyNos[copyNos.size() - 2], channel = copyNos[copyNos.size() - 1];
214  geoID = TotemTimingDetId(arm, station, rp, plane, channel);
215  }
216 
217  else if (name == DDD_TOTEM_TIMING_RP_NAME) {
218  const unsigned int arm = copyNum / 100, station = (copyNum % 100) / 10, rp = copyNum % 10;
219  geoID = TotemTimingDetId(arm, station, rp);
220  }
221 
222  // pixel sensors
224  // check size of copy numbers array
225  if (copyNos.size() < 4)
226  throw cms::Exception("DDDTotemRPContruction")
227  << "size of copyNumbers for pixel sensor is " << copyNos.size() << ". It must be >= 4.";
228 
229  // extract information
230  const unsigned int decRPId = copyNos[copyNos.size() - 4] % 10000;
231  const unsigned int arm = decRPId / 100;
232  const unsigned int station = (decRPId % 100) / 10;
233  const unsigned int rp = decRPId % 10;
234  const unsigned int detector = copyNos[copyNos.size() - 2] - 1;
235  geoID = CTPPSPixelDetId(arm, station, rp, detector);
236  }
237 
238  // diamond/UFSD sensors
240  const unsigned int id = copyNos[copyNos.size() - 1];
241  const unsigned int arm = copyNos[1] - 1;
242  const unsigned int station = 1;
243  const unsigned int rp = 6;
244  const unsigned int plane = (id / 100);
245  const unsigned int channel = id % 100;
246 
247  geoID = CTPPSDiamondDetId(arm, station, rp, plane, channel);
248  }
249 
250  // diamond/UFSD RPs
251  else if (name == DDD_CTPPS_DIAMONDS_RP_NAME) {
252  // check size of copy numbers array
253  if (copyNos.size() < 2)
254  throw cms::Exception("DDDTotemRPContruction")
255  << "size of copyNumbers for diamond RP is " << copyNos.size() << ". It must be >= 2.";
256 
257  const unsigned int arm = copyNos[1] - 1;
258  const unsigned int station = 1;
259  const unsigned int rp = 6;
260 
261  geoID = CTPPSDiamondDetId(arm, station, rp);
262  }
263 
264  return geoID;

References DDD_CTPPS_DIAMONDS_RP_NAME, DDD_CTPPS_DIAMONDS_SEGMENT_NAME, DDD_CTPPS_PIXELS_RP_NAME, DDD_CTPPS_PIXELS_SENSOR_NAME, DDD_CTPPS_PIXELS_SENSOR_NAME_2x2, DDD_CTPPS_UFSD_SEGMENT_NAME, DDD_TOTEM_RP_RP_NAME, DDD_TOTEM_RP_SENSOR_NAME, DDD_TOTEM_TIMING_RP_NAME, DDD_TOTEM_TIMING_SENSOR_TMPL, hgcalTestNeighbor_cfi::detector, name(), and relativeConstraints::station.

Referenced by computeDetIDFromDD4hep().

◆ computeDetIDFromDD4hep()

DetId DetGeomDesc::computeDetIDFromDD4hep ( const std::string &  name,
const std::vector< int > &  copyNos,
unsigned int  copyNum 
) const
private

Definition at line 269 of file DetGeomDesc.cc.

272  {
273  std::vector<int> copyNosOldDD = {copyNos.rbegin() + 1, copyNos.rend()};
274 
275  return computeDetID(name, copyNosOldDD, copyNum);

References computeDetID(), and name().

◆ computeDiamondDimensions()

DiamondDimensions DetGeomDesc::computeDiamondDimensions ( const bool  isABox,
const bool  isDD4hep,
const std::vector< double > &  params 
) const
private

Definition at line 144 of file DetGeomDesc.cc.

147  {
148  DiamondDimensions boxShapeParameters{};
149  if (isABox) {
150  if (!isDD4hep) {
151  // mm (legacy)
152  boxShapeParameters = {params.at(0), params.at(1), params.at(2)};
153  } else {
154  // convert cm (DD4hep) to mm (legacy expected by PPS reco software)
155  boxShapeParameters = {geant_units::operators::convertCmToMm(params.at(0)),
158  }
159  }
160  return boxShapeParameters;

References geant_units::operators::convertCmToMm(), isABox(), isDD4hep(), and params().

◆ computeNameWithNoNamespace()

std::string DetGeomDesc::computeNameWithNoNamespace ( std::string_view  nameFromView) const
private

Definition at line 123 of file DetGeomDesc.cc.

124  {
125  const auto& semiColonPos = nameFromView.find(":");
126  const std::string name{(semiColonPos != std::string::npos ? nameFromView.substr(semiColonPos + 1) : nameFromView)};
127  return name;

References name(), and AlCaHLTBitMon_QueryRunRegistry::string.

◆ computeParameters()

std::vector< double > DetGeomDesc::computeParameters ( const cms::DDFilteredView fv) const
private

Definition at line 132 of file DetGeomDesc.cc.

133  {
134  auto myShape = fv.solid();
135  const std::vector<double>& parameters = myShape.dimensions(); // default unit from DD4hep (cm)
136  return parameters;

References cms::DDFilteredView::solid().

◆ computeSensorType()

std::string DetGeomDesc::computeSensorType ( std::string_view  name)
private

Definition at line 281 of file DetGeomDesc.cc.

282  {
284 
285  // Case A: Construction from DB.
286  // Namespace is present, and allow identification of 2x2 sensor type: just look for "2x2:RPixWafer" in name.
287  const auto& foundFromDB = name.find(DDD_CTPPS_PIXELS_SENSOR_TYPE_2x2 + ":" + DDD_CTPPS_PIXELS_SENSOR_NAME);
288  if (foundFromDB != std::string::npos) {
290  }
291 
292  // Case B: Construction from XMLs.
293  // Volume name allows identification of 2x2 sensor type: just look whether name is "RPixWafer2x2".
294  const auto& foundFromXML = name.find(DDD_CTPPS_PIXELS_SENSOR_NAME_2x2);
295  if (foundFromXML != std::string::npos) {
297  }
298 
299  return sensorType;

References DDD_CTPPS_PIXELS_SENSOR_NAME, DDD_CTPPS_PIXELS_SENSOR_NAME_2x2, DDD_CTPPS_PIXELS_SENSOR_TYPE_2x2, name(), sensorType(), and AlCaHLTBitMon_QueryRunRegistry::string.

◆ copyno()

int DetGeomDesc::copyno ( ) const
inline

Definition at line 67 of file DetGeomDesc.h.

67 { return m_name; }

References m_name.

Referenced by PPSGeometryBuilder::buildItemFromDetGeomDesc().

◆ deepDeleteComponents()

void DetGeomDesc::deepDeleteComponents ( )
private

Definition at line 116 of file DetGeomDesc.cc.

117  {
118  for (auto& it : m_container) {
119  delete it; // the destructor calls deepDeleteComponents
120  }
121  clearComponents();

References clearComponents(), and m_container.

Referenced by ~DetGeomDesc().

◆ deleteComponents()

void DetGeomDesc::deleteComponents ( )
private

Definition at line 114 of file DetGeomDesc.cc.

References m_container.

◆ geographicalID()

DetId DetGeomDesc::geographicalID ( ) const
inline

◆ getDiamondDimensions()

const DiamondDimensions& DetGeomDesc::getDiamondDimensions ( ) const
inline

Definition at line 82 of file DetGeomDesc.h.

82  { return m_isABox; }
84  if (!isABox()) {
85  edm::LogError("DetGeomDesc::getDiamondDimensions is not called on a box, for solid ")
86  << name() << ", Id = " << geographicalID();
87  }
88  return m_diamondBoxParams;

References m_isABox.

Referenced by CTPPSDiamondRecHitProducerAlgorithm::build(), TotemTimingRecHitProducerAlgorithm::build(), channelAlignedWithTrack(), TotemTimingDQMSource::dqmBeginRun(), CTPPSDiamondDQMSource::dqmBeginRun(), and print().

◆ isABox()

bool DetGeomDesc::isABox ( ) const
inline

Definition at line 81 of file DetGeomDesc.h.

81 { return m_params; } // default unit: mm from oldDD, cm from DD4hep

References m_params.

Referenced by computeDiamondDimensions().

◆ isDD4hep()

bool DetGeomDesc::isDD4hep ( ) const
inline

Definition at line 70 of file DetGeomDesc.h.

71 { return m_isDD4hep; }

References m_isDD4hep.

Referenced by computeDiamondDimensions().

◆ isLeaf()

bool DetGeomDesc::isLeaf ( ) const
inline

Definition at line 100 of file DetGeomDesc.h.

101 { return m_container.empty(); }

◆ name()

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

◆ params()

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

◆ parentZPosition()

float DetGeomDesc::parentZPosition ( ) const
inline

◆ print()

void DetGeomDesc::print ( void  ) const

Definition at line 86 of file DetGeomDesc.cc.

87  {
88  edm::LogVerbatim("DetGeomDesc::print") << "............................." << std::endl;
89  edm::LogVerbatim("DetGeomDesc::print") << "name = " << m_name << std::endl;
90  edm::LogVerbatim("DetGeomDesc::print") << "copy = " << m_copy << std::endl;
91  edm::LogVerbatim("DetGeomDesc::print") << "translation = " << std::fixed << std::setprecision(7) << m_trans
92  << std::endl;
93  edm::LogVerbatim("DetGeomDesc::print") << "rotation = " << std::fixed << std::setprecision(7) << m_rot << std::endl;
94 
95  if (m_isABox) {
96  edm::LogVerbatim("DetGeomDesc::print")
97  << "getDiamondDimensions() = " << std::fixed << std::setprecision(7) << getDiamondDimensions().xHalfWidth << " "
98  << getDiamondDimensions().yHalfWidth << " " << getDiamondDimensions().zHalfWidth << std::endl;
99  }
100 
101  edm::LogVerbatim("DetGeomDesc::print") << "sensorType = " << m_sensorType << std::endl;
102 
103  if (m_geographicalID() != 0) {
104  edm::LogVerbatim("DetGeomDesc::print") << "geographicalID() = " << m_geographicalID << std::endl;
105  }
106 
107  edm::LogVerbatim("DetGeomDesc::print") << "parentZPosition() = " << std::fixed << std::setprecision(7) << m_z
108  << std::endl;

References alignBH_cfg::fixed, getDiamondDimensions(), m_copy, m_geographicalID, m_isABox, m_name, m_rot, m_sensorType, m_trans, m_z, DiamondDimensions::xHalfWidth, DiamondDimensions::yHalfWidth, and DiamondDimensions::zHalfWidth.

◆ rotation()

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

◆ sensorType()

const std::string& DetGeomDesc::sensorType ( ) const
inline

Definition at line 91 of file DetGeomDesc.h.

References m_sensorType.

Referenced by PPSGeometryBuilder::buildItemFromDetGeomDesc(), and computeSensorType().

◆ translation()

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

Member Data Documentation

◆ m_container

Container DetGeomDesc::m_container
private

◆ m_copy

int DetGeomDesc::m_copy
private

Definition at line 122 of file DetGeomDesc.h.

Referenced by DetGeomDesc(), and print().

◆ m_diamondBoxParams

DiamondDimensions DetGeomDesc::m_diamondBoxParams
private

Definition at line 128 of file DetGeomDesc.h.

Referenced by DetGeomDesc().

◆ m_geographicalID

DetId DetGeomDesc::m_geographicalID
private

Definition at line 130 of file DetGeomDesc.h.

Referenced by DetGeomDesc(), geographicalID(), and print().

◆ m_isABox

bool DetGeomDesc::m_isABox
private

Definition at line 127 of file DetGeomDesc.h.

Referenced by DetGeomDesc(), getDiamondDimensions(), and print().

◆ m_isDD4hep

bool DetGeomDesc::m_isDD4hep
private

Definition at line 123 of file DetGeomDesc.h.

Referenced by DetGeomDesc(), and isDD4hep().

◆ m_name

std::string DetGeomDesc::m_name
private

Definition at line 121 of file DetGeomDesc.h.

Referenced by copyno(), DetGeomDesc(), and print().

◆ m_params

std::vector<double> DetGeomDesc::m_params
private

Definition at line 126 of file DetGeomDesc.h.

Referenced by DetGeomDesc(), and isABox().

◆ m_rot

RotationMatrix DetGeomDesc::m_rot
private

Definition at line 125 of file DetGeomDesc.h.

Referenced by applyAlignment(), DetGeomDesc(), and print().

◆ m_sensorType

std::string DetGeomDesc::m_sensorType
private

Definition at line 129 of file DetGeomDesc.h.

Referenced by DetGeomDesc(), print(), and sensorType().

◆ m_trans

Translation DetGeomDesc::m_trans
private

Definition at line 124 of file DetGeomDesc.h.

Referenced by applyAlignment(), DetGeomDesc(), print(), and rotation().

◆ m_z

float DetGeomDesc::m_z
private

Definition at line 133 of file DetGeomDesc.h.

Referenced by DetGeomDesc(), and print().

cms::DDFilteredView::rotation
const RotationMatrix rotation() const
Definition: DDFilteredView.cc:122
DiamondDimensions
Geometrical description of a sensor.
Definition: DetGeomDesc.h:43
DiamondDimensions::zHalfWidth
double zHalfWidth
Definition: DetGeomDesc.h:46
alignBH_cfg.fixed
fixed
Definition: alignBH_cfg.py:54
BeamSpotPI::parameters
parameters
Definition: BeamSpotPayloadInspectorHelper.h:29
DDD_CTPPS_UFSD_SEGMENT_NAME
const std::string DDD_CTPPS_UFSD_SEGMENT_NAME
Definition: CTPPSDDDNames.h:18
DDD_CTPPS_PIXELS_SENSOR_NAME
const std::string DDD_CTPPS_PIXELS_SENSOR_NAME
Definition: CTPPSDDDNames.h:14
DetGeomDesc::m_isABox
bool m_isABox
Definition: DetGeomDesc.h:127
DetGeomDesc::computeDetID
DetId computeDetID(const std::string &name, const std::vector< int > &copyNos, unsigned int copyNum) const
Definition: DetGeomDesc.cc:166
relativeConstraints.station
station
Definition: relativeConstraints.py:67
cms::DDFilteredView::copyNum
unsigned short copyNum() const
Definition: DDFilteredView.cc:863
DDFilteredView::logicalPart
const DDLogicalPart & logicalPart() const
The logical-part of the current node in the filtered-view.
Definition: DDFilteredView.cc:16
DDFilteredView::copyNumbers
nav_type copyNumbers() const
return the stack of copy numbers
Definition: DDFilteredView.cc:193
DetGeomDesc::m_copy
int m_copy
Definition: DetGeomDesc.h:122
DetGeomDesc::m_sensorType
std::string m_sensorType
Definition: DetGeomDesc.h:129
DetGeomDesc::computeDiamondDimensions
DiamondDimensions computeDiamondDimensions(const bool isABox, const bool isDD4hep, const std::vector< double > &params) const
Definition: DetGeomDesc.cc:144
DetGeomDesc::m_container
Container m_container
Definition: DetGeomDesc.h:132
DDD_CTPPS_PIXELS_RP_NAME
const std::string DDD_CTPPS_PIXELS_RP_NAME
Definition: CTPPSDDDNames.h:23
DetGeomDesc::m_name
std::string m_name
Definition: DetGeomDesc.h:121
DDD_TOTEM_TIMING_RP_NAME
const std::string DDD_TOTEM_TIMING_RP_NAME
Definition: CTPPSDDDNames.h:26
DetGeomDesc::sensorType
const std::string & sensorType() const
Definition: DetGeomDesc.h:91
DDD_CTPPS_PIXELS_SENSOR_TYPE_2x2
const std::string DDD_CTPPS_PIXELS_SENSOR_TYPE_2x2
Definition: CTPPSDDDNames.h:16
DetGeomDesc::m_params
std::vector< double > m_params
Definition: DetGeomDesc.h:126
DetGeomDesc::clearComponents
void clearComponents()
Definition: DetGeomDesc.h:110
DetGeomDesc::m_z
float m_z
Definition: DetGeomDesc.h:133
DDD_CTPPS_DIAMONDS_SEGMENT_NAME
const std::string DDD_CTPPS_DIAMONDS_SEGMENT_NAME
Definition: CTPPSDDDNames.h:17
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
cms::DDFilteredView::solid
dd4hep::Solid solid() const
Definition: DDFilteredView.cc:861
DetId
Definition: DetId.h:17
DetGeomDesc::geographicalID
DetId geographicalID() const
Definition: DetGeomDesc.h:94
cms::DDFilteredView::copyNos
const std::vector< int > copyNos() const
The list of the volume copy numbers.
Definition: DDFilteredView.cc:89
DetGeomDesc::getDiamondDimensions
const DiamondDimensions & getDiamondDimensions() const
Definition: DetGeomDesc.h:82
DDBase::name
const N & name() const
Definition: DDBase.h:59
DetGeomDesc::computeDetIDFromDD4hep
DetId computeDetIDFromDD4hep(const std::string &name, const std::vector< int > &copyNos, unsigned int copyNum) const
Definition: DetGeomDesc.cc:269
DDD_CTPPS_PIXELS_SENSOR_NAME_2x2
const std::string DDD_CTPPS_PIXELS_SENSOR_NAME_2x2
Definition: CTPPSDDDNames.h:15
DiamondDimensions::xHalfWidth
double xHalfWidth
Definition: DetGeomDesc.h:44
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
DetGeomDesc::isDD4hep
bool isDD4hep() const
Definition: DetGeomDesc.h:70
TotemTimingDetId
Detector ID class for CTPPS Totem Timing detectors. Bits [19:31] : Assigend in CTPPSDetId Calss Bits ...
Definition: TotemTimingDetId.h:26
DetGeomDesc::m_diamondBoxParams
DiamondDimensions m_diamondBoxParams
Definition: DetGeomDesc.h:128
DetGeomDesc::cmWithoutChildren
Definition: DetGeomDesc.h:62
CTPPSDiamondDetId
Detector ID class for CTPPS Timing Diamond detectors. Bits [19:31] : Assigend in CTPPSDetId Calss Bit...
Definition: CTPPSDiamondDetId.h:24
geant_units::operators::convertCmToMm
constexpr NumType convertCmToMm(NumType centimeters)
Definition: GeantUnits.h:68
DDD_CTPPS_DIAMONDS_RP_NAME
const std::string DDD_CTPPS_DIAMONDS_RP_NAME
Definition: CTPPSDDDNames.h:25
DetGeomDesc::isABox
bool isABox() const
Definition: DetGeomDesc.h:81
DetGeomDesc::name
const std::string & name() const
Definition: DetGeomDesc.h:66
DDFilteredView::shape
const DDSolidShape shape() const
Definition: DDFilteredView.cc:20
DDD_TOTEM_TIMING_SENSOR_TMPL
const std::string DDD_TOTEM_TIMING_SENSOR_TMPL
Definition: CTPPSDDDNames.h:19
DiamondDimensions::yHalfWidth
double yHalfWidth
Definition: DetGeomDesc.h:45
DDD_TOTEM_RP_RP_NAME
const std::string DDD_TOTEM_RP_RP_NAME
DDD names of RP volumes.
Definition: CTPPSDDDNames.h:22
CTPPSPixelDetId
Definition: CTPPSPixelDetId.h:16
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
DetGeomDesc::m_isDD4hep
bool m_isDD4hep
Definition: DetGeomDesc.h:123
DDSolidShape::ddbox
DetGeomDesc::computeSensorType
std::string computeSensorType(std::string_view name)
Definition: DetGeomDesc.cc:281
edm::LogVerbatim
Log< level::Info, true > LogVerbatim
Definition: MessageLogger.h:128
DDFilteredView::translation
const DDTranslation & translation() const
The absolute translation of the current node.
Definition: DDFilteredView.cc:26
DDD_TOTEM_RP_SENSOR_NAME
const std::string DDD_TOTEM_RP_SENSOR_NAME
DDD names of sensors.
Definition: CTPPSDDDNames.h:13
DDFilteredView::rotation
const DDRotationMatrix & rotation() const
The absolute rotation of the current node.
Definition: DDFilteredView.cc:28
DetGeomDesc::params
const std::vector< double > & params() const
Definition: DetGeomDesc.h:80
DetGeomDesc::computeParameters
std::vector< double > computeParameters(const cms::DDFilteredView &fv) const
Definition: DetGeomDesc.cc:132
DetGeomDesc::cmWithChildren
Definition: DetGeomDesc.h:62
hgcalTestNeighbor_cfi.detector
detector
Definition: hgcalTestNeighbor_cfi.py:6
DetGeomDesc::m_geographicalID
DetId m_geographicalID
Definition: DetGeomDesc.h:130
cms::Exception
Definition: Exception.h:70
DDName::fullname
const std::string fullname() const
Definition: DDName.h:40
DetGeomDesc::computeNameWithNoNamespace
std::string computeNameWithNoNamespace(std::string_view nameFromView) const
Definition: DetGeomDesc.cc:123
submitPVValidationJobs.t
string t
Definition: submitPVValidationJobs.py:644
TotemRPDetId
Detector ID class for TOTEM Si strip detectors.
Definition: TotemRPDetId.h:29
DDFilteredView::copyno
int copyno() const
Copy number associated with the current node.
Definition: DDFilteredView.cc:48
DetGeomDesc::m_trans
Translation m_trans
Definition: DetGeomDesc.h:124
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
DetGeomDesc::m_rot
RotationMatrix m_rot
Definition: DetGeomDesc.h:125