DD4hep  1.30.0
Detector Description Toolkit for High Energy Physics
DetectorData.h
Go to the documentation of this file.
1 //==========================================================================
2 // AIDA Detector description implementation
3 //--------------------------------------------------------------------------
4 // Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN)
5 // All rights reserved.
6 //
7 // For the licensing terms see $DD4hepINSTALL/LICENSE.
8 // For the list of contributors see $DD4hepINSTALL/doc/CREDITS.
9 //
10 // Author : F.Gaede
11 //
12 //==========================================================================
13 #ifndef DDREC_DETECTORDATA_H
14 #define DDREC_DETECTORDATA_H
15 
16 #include <map>
17 #include <bitset>
18 #include <ostream>
19 
20 #include <boost/variant.hpp>
21 
22 #include "DD4hep/DetElement.h"
23 
24 namespace dd4hep {
25  namespace rec {
26 
36  template< class T>
37  struct StructExtension : public T {
38  StructExtension() : T() { }
39  StructExtension(const StructExtension<T>& t) : T(t) {}
40  StructExtension(const T& t) : T(t) {}
41  StructExtension(const DetElement& d) : T( *d.extension<StructExtension<T> >() ) {}
42  StructExtension(const StructExtension<T>& t, const DetElement&) : T(t) {}
43  std::string toString(){
44  std::stringstream s ;
45  s << *this ;
46  return s.str();
47  }
48  };
49 
50 
51 
64  double zHalf ;
66  double rMin ;
68  double rMax ;
70  double driftLength ;
72  double zMinReadout ;
74  double rMinReadout ;
76  double rMaxReadout ;
82  double padHeight ;
84  double padWidth ;
86  double maxRow ;
88  double padGap ;
89  };
91 
92  std::ostream& operator<<( std::ostream& io , const FixedPadSizeTPCData& d ) ;
93 
94 
106  double zHalfShell ;
108  double gapShell ;
110  double rInnerShell ;
112  double rOuterShell ;
113 
115  double widthStrip ;
117  double lengthStrip ;
119  double pitchStrip ;
121  double angleStrip ;
122 
126  struct LayerLayout{
127 
128  // default c'tor with zero initialization
130  ladderNumber(0),
131  phi0(0),
132  sensorsPerLadder(0),
133  lengthSensor(0),
134  distanceSupport(0),
135  thicknessSupport(0),
136  offsetSupport(0),
137  widthSupport(0),
138  zHalfSupport(0),
141  offsetSensitive(0),
142  widthSensitive(0),
143  zHalfSensitive(0) {
144  }
145 
146 
149 
151  double phi0 ;
152 
156  double lengthSensor ;
157 
163  double offsetSupport ;
165  double widthSupport ;
167  double zHalfSupport ;
168 
174  double offsetSensitive ;
176  double widthSensitive ;
178  double zHalfSensitive ;
179  } ;
180 
181  std::vector<LayerLayout> layers ;
182 
183  } ;
185 
186  std::ostream& operator<<( std::ostream& io , const ZPlanarData& d ) ;
187 
188 
189 
200 
202  double widthStrip ;
204  double lengthStrip ;
206  double pitchStrip ;
208  double angleStrip ;
209 
211  struct SensorType{
212  enum {
214  Pixel
215  };
216  } ;
217 
221  struct LayerLayout{
222 
224  petalHalfAngle(0),
225  alphaPetal(0),
226  zPosition(0),
227  petalNumber(0),
228  sensorsPerPetal(0),
229  typeFlags(0),
230  phi0(0),
231  zOffsetSupport(0),
232  distanceSupport(0),
233  thicknessSupport(0),
236  lengthSupport(0),
237  zOffsetSensitive(0),
242  lengthSensitive(0) {
243  }
244 
246  double petalHalfAngle ;
247 
251  double alphaPetal ;
252 
254  double zPosition ;
255 
258 
261 
263  std::bitset<32> typeFlags ;
264 
266  double phi0 ;
267 
271  double zOffsetSupport ;
281  double lengthSupport ;
282 
297  } ;
298 
299  std::vector<LayerLayout> layers ;
300 
301  } ;
303 
304  std::ostream& operator<<( std::ostream& io , const ZDiskPetalsData& d ) ;
305 
317 
320 
321  struct Section{
322 
324  rInner(0),
325  rOuter(0),
326  zPos(0){
327  }
328 
330  double rInner ;
332  double rOuter ;
334  double zPos ;
335  } ;
336 
341  std::vector<Section> sections ;
342 
343  } ;
344 
346 
347  std::ostream& operator<<( std::ostream& io , const ConicalSupportData& d ) ;
348 
349 
359 
365  };
366 
369 
373  double extent[6] ;
374 
379 
384 
393  double outer_phi0 ;
394 
397  double inner_phi0 ;
398 
399 
403  double phi0 ;
404 
405 
407  double gap0;
408 
410  double gap1;
411 
413  double gap2;
414 
415 
416  struct Layer {
417 
418  Layer() :
419  distance(0),
420  phi0(0),
426  inner_thickness(0),
427  outer_thickness(0),
429  cellSize0(0),
430  cellSize1(0) {
431  }
432 
434  double distance;
435 
437  double phi0 ;
438 
441 
446 
451 
454 
457 
460 
461 
462 
464  double cellSize0 ;
466  double cellSize1 ;
467  } ;
468 
469  std::vector<Layer> layers ;
470  } ;
471 
473 
474  std::ostream& operator<<( std::ostream& io , const LayeredCalorimeterData& d ) ;
475 
476 
477 
478 
487 
489  std::map<dd4hep::CellID , std::vector<dd4hep::CellID > > sameLayer ;
490 
492  std::map<dd4hep::CellID , std::vector<dd4hep::CellID > > prevLayer ;
493 
495  std::map<dd4hep::CellID , std::vector<dd4hep::CellID > > nextLayer ;
496 
497  } ;
499 
500  std::ostream& operator<<( std::ostream& io , const NeighbourSurfacesData& d ) ;
501 
503  std::map<std::string, double> doubleParameters{};
504  };
506  std::ostream& operator<<( std::ostream& io , const DoubleParameters& d ) ;
507 
514  std::map<std::string, boost::variant<double, int, std::string, bool>> variantParameters{};
515 
516  template <typename T>
517  const T& get(const std::string& key) const {
518  auto it = variantParameters.find(key);
519  if(it == variantParameters.end()) {
520  throw std::runtime_error{"Key "+key+" not found"};
521  }
522  return boost::get<T>(it->second);
523  }
524 
525  template <typename T>
526  T& get(const std::string& key) {
527  auto it = variantParameters.find(key);
528  if(it == variantParameters.end()) {
529  throw std::runtime_error{"Key "+key+" not found"};
530  }
531  return boost::get<T>(it->second);
532  }
533 
534  template <typename T>
535  T value_or(const std::string& key, T alternative) const {
536  auto it = variantParameters.find(key);
537  if(it == variantParameters.end()) {
538  return alternative;
539  }
540  return boost::get<T>(it->second);
541  }
542 
543  template <typename T>
544  void set(const std::string& key, T value) {
545  variantParameters[key] = value;
546  }
547 
548  bool contains(const std::string& key) const {
549  return variantParameters.find(key) != variantParameters.end();
550  }
551  };
553  std::ostream& operator<<( std::ostream& io , const VariantParameters& d ) ;
554 
555 
556  } /* namespace rec */
557 } /* namespace dd4hep */
558 
559 #endif // DDREC_DETECTORDATA_H
dd4hep::rec::ZDiskPetalsStruct
Definition: DetectorData.h:199
dd4hep::rec::ZDiskPetalsStruct::LayerLayout::distanceSensitive
double distanceSensitive
The distance of the petal sensitive from the z-axis.
Definition: DetectorData.h:288
dd4hep::rec::MapStringVariantStruct::variantParameters
std::map< std::string, boost::variant< double, int, std::string, bool > > variantParameters
Definition: DetectorData.h:514
dd4hep::rec::ZDiskPetalsStruct::LayerLayout::LayerLayout
LayerLayout()
Definition: DetectorData.h:223
dd4hep::rec::LayeredCalorimeterStruct::Layer::cellSize0
double cellSize0
cell size along the first axis where first is either along the beam (BarrelLayout) or up (EndcapLayou...
Definition: DetectorData.h:464
dd4hep::rec::ZPlanarStruct::LayerLayout
Definition: DetectorData.h:126
dd4hep::rec::LayeredCalorimeterStruct::Layer::sensitive_thickness
double sensitive_thickness
Thickness of the sensitive element (e.g. scintillator)
Definition: DetectorData.h:459
dd4hep::rec::NeighbourSurfacesStruct
Definition: DetectorData.h:486
dd4hep::rec::ZDiskPetalsStruct::LayerLayout::thicknessSensitive
double thicknessSensitive
The thickness of the petal sensitive.
Definition: DetectorData.h:290
dd4hep::rec::ConicalSupportStruct
Definition: DetectorData.h:316
dd4hep::rec::LayeredCalorimeterStruct
Definition: DetectorData.h:358
dd4hep::rec::ZPlanarStruct::pitchStrip
double pitchStrip
strip pitch (if applicable )
Definition: DetectorData.h:119
dd4hep::rec::LayeredCalorimeterStruct::Layer::outer_thickness
double outer_thickness
Distance between the center of the sensitive element and the outermost face of the layer.
Definition: DetectorData.h:456
dd4hep::rec::LayeredCalorimeterStruct::outer_phi0
double outer_phi0
Definition: DetectorData.h:393
dd4hep::rec::ZDiskPetalsStruct::angleStrip
double angleStrip
strip stereo angle (if applicable )
Definition: DetectorData.h:208
dd4hep::rec::ZPlanarStruct::layers
std::vector< LayerLayout > layers
Definition: DetectorData.h:181
dd4hep::rec::LayeredCalorimeterStruct::Layer::Layer
Layer()
Definition: DetectorData.h:418
dd4hep::rec::ConicalSupportStruct::Section::rInner
double rInner
inner r at start of section
Definition: DetectorData.h:330
dd4hep::rec::StructExtension::StructExtension
StructExtension(const StructExtension< T > &t)
Definition: DetectorData.h:39
dd4hep::rec::ZDiskPetalsStruct::LayerLayout::distanceSupport
double distanceSupport
The distance of the petal support from the z-axis.
Definition: DetectorData.h:273
dd4hep::rec::LayeredCalorimeterStruct::layers
std::vector< Layer > layers
Definition: DetectorData.h:469
dd4hep::rec::LayeredCalorimeterStruct::Layer
Definition: DetectorData.h:416
dd4hep::rec::ZPlanarStruct::LayerLayout::zHalfSupport
double zHalfSupport
The half length of the ladder support in z.
Definition: DetectorData.h:167
dd4hep::rec::ZDiskPetalsStruct::LayerLayout::widthInnerSensitive
double widthInnerSensitive
The inner width of the petal sensitive.
Definition: DetectorData.h:292
dd4hep::rec::ConicalSupportStruct::Section
Definition: DetectorData.h:321
dd4hep::rec::ZPlanarStruct::LayerLayout::distanceSensitive
double distanceSensitive
The distance of the ladder sensitive from the origin (IP).
Definition: DetectorData.h:170
dd4hep::rec::LayeredCalorimeterStruct::extent
double extent[6]
Definition: DetectorData.h:373
dd4hep::rec::ZPlanarStruct::LayerLayout::distanceSupport
double distanceSupport
The distance of the ladder support from the origin (IP).
Definition: DetectorData.h:159
dd4hep::rec::ZDiskPetalsStruct::SensorType::Pixel
@ Pixel
Definition: DetectorData.h:214
dd4hep::rec::LayeredCalorimeterStruct::Layer::inner_nInteractionLengths
double inner_nInteractionLengths
Absorber material in front of sensitive element in the layer, units of radiation lengths.
Definition: DetectorData.h:445
dd4hep::rec::LayeredCalorimeterStruct::Layer::outer_nRadiationLengths
double outer_nRadiationLengths
Absorber material in behind of sensitive element in the layer, units of radiation lengths.
Definition: DetectorData.h:448
dd4hep::rec::ZPlanarStruct::angleStrip
double angleStrip
strip stereo angle (if applicable )
Definition: DetectorData.h:121
dd4hep::rec::ZDiskPetalsStruct::LayerLayout::widthInnerSupport
double widthInnerSupport
The inner width of the petal support.
Definition: DetectorData.h:277
dd4hep::rec::LayeredCalorimeterStruct::Layer::phi0
double phi0
phi0 of layer: potential rotation around normal to absorber plane, e.g. if layers are 'staggered' in ...
Definition: DetectorData.h:437
dd4hep::rec::FixedPadSizeTPCStruct::driftLength
double driftLength
driftLength in z (half length of active volume)
Definition: DetectorData.h:70
dd4hep::rec::FixedPadSizeTPCStruct::rMaxReadout
double rMaxReadout
outer r of active volume
Definition: DetectorData.h:76
dd4hep::rec::ZPlanarStruct::LayerLayout::widthSupport
double widthSupport
The width of the ladder support.
Definition: DetectorData.h:165
dd4hep::rec::ZPlanarStruct::rInnerShell
double rInnerShell
The inner radius of the support shell.
Definition: DetectorData.h:110
dd4hep::rec::LayeredCalorimeterStruct::layoutType
LayoutType layoutType
type of layout: BarrelLayout or EndcapLayout
Definition: DetectorData.h:368
dd4hep::rec::LayeredCalorimeterStruct::ConicalLayout
@ ConicalLayout
Definition: DetectorData.h:364
dd4hep::rec::LayeredCalorimeterStruct::Layer::inner_nRadiationLengths
double inner_nRadiationLengths
Absorber material in front of sensitive element in the layer, units of radiation lengths.
Definition: DetectorData.h:443
dd4hep::rec::FixedPadSizeTPCStruct
Definition: DetectorData.h:62
dd4hep::rec::LayeredCalorimeterStruct::gap0
double gap0
Gap between modules(eg. stave gap) in the phi-direction.
Definition: DetectorData.h:407
dd4hep::rec::ZDiskPetalsStruct::LayerLayout
Definition: DetectorData.h:221
dd4hep::rec::NeighbourSurfacesStruct::prevLayer
std::map< dd4hep::CellID, std::vector< dd4hep::CellID > > prevLayer
map of all neighbours in the previous layer
Definition: DetectorData.h:492
dd4hep::rec::ZDiskPetalsStruct::SensorType::DoubleSided
@ DoubleSided
Definition: DetectorData.h:213
dd4hep::rec::ZPlanarStruct::LayerLayout::lengthSensor
double lengthSensor
sensor length (if divided in sensors)
Definition: DetectorData.h:156
dd4hep::rec::MapStringDoubleStruct
Definition: DetectorData.h:502
dd4hep::rec::ZPlanarStruct::LayerLayout::ladderNumber
int ladderNumber
The number of ladders in the layer.
Definition: DetectorData.h:148
dd4hep::rec::LayeredCalorimeterStruct::gap2
double gap2
Gap between modules(reserved for future use) e.g in the r-direction.
Definition: DetectorData.h:413
dd4hep::rec::ZDiskPetalsStruct::SensorType
enum for encoding the sensor type in typeFlags
Definition: DetectorData.h:211
dd4hep::rec::NeighbourSurfacesData
StructExtension< NeighbourSurfacesStruct > NeighbourSurfacesData
Definition: DetectorData.h:498
dd4hep::rec::LayeredCalorimeterStruct::BarrelLayout
@ BarrelLayout
Definition: DetectorData.h:362
dd4hep::rec::MapStringDoubleStruct::doubleParameters
std::map< std::string, double > doubleParameters
Definition: DetectorData.h:503
dd4hep::rec::ZPlanarStruct::LayerLayout::offsetSupport
double offsetSupport
The offset of the ladder support, i.e. the shift in the direction of increasing phi,...
Definition: DetectorData.h:163
dd4hep::rec::MapStringVariantStruct::set
void set(const std::string &key, T value)
Definition: DetectorData.h:544
dd4hep::rec::ZPlanarStruct::LayerLayout::zHalfSensitive
double zHalfSensitive
The half length of the ladder sensitive in z.
Definition: DetectorData.h:178
dd4hep::rec::ConicalSupportStruct::isSymmetricInZ
bool isSymmetricInZ
if true the sections are repeated at negative z
Definition: DetectorData.h:319
dd4hep::rec::ZDiskPetalsStruct::LayerLayout::petalHalfAngle
double petalHalfAngle
half angle covered by petal
Definition: DetectorData.h:246
dd4hep::rec::LayeredCalorimeterStruct::outer_symmetry
int outer_symmetry
Definition: DetectorData.h:378
dd4hep::rec::LayeredCalorimeterData
StructExtension< LayeredCalorimeterStruct > LayeredCalorimeterData
Definition: DetectorData.h:472
dd4hep::rec::ZPlanarStruct::LayerLayout::thicknessSensitive
double thicknessSensitive
The thickness of the ladder sensitive from the origin (IP).
Definition: DetectorData.h:172
dd4hep::rec::ZDiskPetalsStruct::LayerLayout::thicknessSupport
double thicknessSupport
The thickness of the petal support.
Definition: DetectorData.h:275
dd4hep::rec::ZDiskPetalsStruct::LayerLayout::lengthSensitive
double lengthSensitive
The radial length of the petal sensitive.
Definition: DetectorData.h:296
dd4hep::rec::LayeredCalorimeterStruct::Layer::cellSize1
double cellSize1
second cell size, perpendicular to the first direction cellSize0 and the depth of the layers.
Definition: DetectorData.h:466
dd4hep::DetElement
Handle class describing a detector element.
Definition: DetElement.h:188
dd4hep::rec::ZDiskPetalsStruct::LayerLayout::lengthSupport
double lengthSupport
The radial length of the petal support.
Definition: DetectorData.h:281
dd4hep::rec::ZPlanarStruct::gapShell
double gapShell
The length of the gap in mm (gap position at z=0).
Definition: DetectorData.h:108
dd4hep::rec::ZDiskPetalsStruct::LayerLayout::zPosition
double zPosition
z-position of layer ( z-position of middle axis )
Definition: DetectorData.h:254
dd4hep::rec::FixedPadSizeTPCStruct::innerWallThickness
double innerWallThickness
thickness of the inner wall (field cage)
Definition: DetectorData.h:78
dd4hep::rec::LayeredCalorimeterStruct::gap1
double gap1
Gap between modules(eg. middle stave gap) in the z-direction.
Definition: DetectorData.h:410
dd4hep::rec::ConicalSupportStruct::Section::rOuter
double rOuter
outer r at start of section
Definition: DetectorData.h:332
dd4hep::rec::FixedPadSizeTPCStruct::zHalf
double zHalf
half length of the TPC
Definition: DetectorData.h:64
dd4hep::rec::StructExtension::StructExtension
StructExtension(const T &t)
Definition: DetectorData.h:40
dd4hep::rec::MapStringVariantStruct
Definition: DetectorData.h:513
dd4hep::rec::ConicalSupportStruct::sections
std::vector< Section > sections
Definition: DetectorData.h:341
dd4hep::rec::ZDiskPetalsStruct::layers
std::vector< LayerLayout > layers
Definition: DetectorData.h:299
dd4hep::rec::ZPlanarStruct::zHalfShell
double zHalfShell
The half length (z) of the support shell (w/o gap) - 0. if no shell exists.
Definition: DetectorData.h:106
dd4hep::rec::ZPlanarStruct::lengthStrip
double lengthStrip
length of the strips (if applicable )
Definition: DetectorData.h:117
dd4hep::rec::ZPlanarStruct::widthStrip
double widthStrip
width of the strips (if applicable )
Definition: DetectorData.h:115
dd4hep::rec::ZPlanarStruct::LayerLayout::offsetSensitive
double offsetSensitive
The offset of the ladder sensitive, i.e. the shift in the direction of increasing phi,...
Definition: DetectorData.h:174
dd4hep::rec::ZDiskPetalsStruct::LayerLayout::widthOuterSensitive
double widthOuterSensitive
The outer width of the petal sensitive.
Definition: DetectorData.h:294
dd4hep::rec::MapStringVariantStruct::contains
bool contains(const std::string &key) const
Definition: DetectorData.h:548
dd4hep::rec::ConicalSupportData
StructExtension< ConicalSupportStruct > ConicalSupportData
Definition: DetectorData.h:345
dd4hep::rec::ZPlanarStruct::LayerLayout::LayerLayout
LayerLayout()
Definition: DetectorData.h:129
dd4hep::rec::ZDiskPetalsStruct::LayerLayout::zOffsetSupport
double zOffsetSupport
Definition: DetectorData.h:271
dd4hep::rec::ZDiskPetalsStruct::widthStrip
double widthStrip
width of the strips (if applicable )
Definition: DetectorData.h:202
dd4hep::rec::LayeredCalorimeterStruct::Layer::distance
double distance
distance from Origin (or the z-axis) to the inner-most face of the layer
Definition: DetectorData.h:434
dd4hep::rec::LayeredCalorimeterStruct::Layer::absorberThickness
double absorberThickness
thickness of the absorber part of the layer. Consider using inner/outer_nRadiationLengths and inner/o...
Definition: DetectorData.h:440
dd4hep::rec::ZPlanarStruct::LayerLayout::widthSensitive
double widthSensitive
The width of the ladder sensitive.
Definition: DetectorData.h:176
dd4hep::rec::ZDiskPetalsStruct::LayerLayout::petalNumber
int petalNumber
The number of petals in the layer.
Definition: DetectorData.h:257
dd4hep::rec::MapStringVariantStruct::get
const T & get(const std::string &key) const
Definition: DetectorData.h:517
dd4hep::rec::ZPlanarStruct::LayerLayout::thicknessSupport
double thicknessSupport
The thickness of the ladder support from the origin (IP).
Definition: DetectorData.h:161
dd4hep::rec::ZDiskPetalsStruct::pitchStrip
double pitchStrip
strip pitch (if applicable )
Definition: DetectorData.h:206
dd4hep::rec::ZDiskPetalsStruct::LayerLayout::zOffsetSensitive
double zOffsetSensitive
Definition: DetectorData.h:286
dd4hep::rec::ZDiskPetalsData
StructExtension< ZDiskPetalsStruct > ZDiskPetalsData
Definition: DetectorData.h:302
dd4hep::rec::ZPlanarData
StructExtension< ZPlanarStruct > ZPlanarData
Definition: DetectorData.h:184
dd4hep::rec::FixedPadSizeTPCStruct::outerWallThickness
double outerWallThickness
thickness of the outer wall (field cage)
Definition: DetectorData.h:80
dd4hep::rec::ZDiskPetalsStruct::LayerLayout::typeFlags
std::bitset< 32 > typeFlags
Bit flag describing sensor type - use enum SensorType to access the bits.
Definition: DetectorData.h:263
dd4hep::rec::FixedPadSizeTPCStruct::rMinReadout
double rMinReadout
inner r of active volume
Definition: DetectorData.h:74
dd4hep::rec::LayeredCalorimeterStruct::inner_symmetry
int inner_symmetry
Definition: DetectorData.h:383
dd4hep::rec::LayeredCalorimeterStruct::phi0
double phi0
Definition: DetectorData.h:403
dd4hep::rec::ConicalSupportStruct::Section::Section
Section()
Definition: DetectorData.h:323
dd4hep::rec::StructExtension::StructExtension
StructExtension(const DetElement &d)
Definition: DetectorData.h:41
dd4hep::rec::StructExtension::toString
std::string toString()
Definition: DetectorData.h:43
key
unsigned char key
Definition: AlignmentsCalculator.cpp:69
dd4hep::rec::LayeredCalorimeterStruct::inner_phi0
double inner_phi0
Definition: DetectorData.h:397
dd4hep::rec::ZDiskPetalsStruct::LayerLayout::sensorsPerPetal
int sensorsPerPetal
number of sensor per petal
Definition: DetectorData.h:260
dd4hep::rec::FixedPadSizeTPCStruct::padWidth
double padWidth
fixed pad width ( at middle of row)
Definition: DetectorData.h:84
dd4hep::rec::NeighbourSurfacesStruct::sameLayer
std::map< dd4hep::CellID, std::vector< dd4hep::CellID > > sameLayer
map of all neighbours in the same layer
Definition: DetectorData.h:489
dd4hep::rec::StructExtension
Definition: DetectorData.h:37
DetElement.h
dd4hep::rec::ZPlanarStruct::LayerLayout::sensorsPerLadder
int sensorsPerLadder
number of sensor per ladder
Definition: DetectorData.h:154
dd4hep::rec::ZDiskPetalsStruct::LayerLayout::phi0
double phi0
azimuthal angle of vector defined by the Z-axis to first petal x-positive, y-positive edge
Definition: DetectorData.h:266
dd4hep
Namespace for the AIDA detector description toolkit.
Definition: AlignmentsCalib.h:28
dd4hep::rec::FixedPadSizeTPCStruct::rMin
double rMin
inner radius of the TPC
Definition: DetectorData.h:66
dd4hep::rec::operator<<
std::ostream & operator<<(std::ostream &io, const DCH_info &d)
Definition: DCH_info.h:186
dd4hep::rec::LayeredCalorimeterStruct::Layer::inner_thickness
double inner_thickness
Distance between the innermost face of the layer (closest to IP) and the center of the sensitive elem...
Definition: DetectorData.h:453
dd4hep::rec::LayeredCalorimeterStruct::LayoutType
LayoutType
enum for encoding the sensor type in typeFlags
Definition: DetectorData.h:361
dd4hep::rec::FixedPadSizeTPCData
StructExtension< FixedPadSizeTPCStruct > FixedPadSizeTPCData
Definition: DetectorData.h:90
dd4hep::rec::ConicalSupportStruct::Section::zPos
double zPos
z position at start of section
Definition: DetectorData.h:334
dd4hep::rec::FixedPadSizeTPCStruct::maxRow
double maxRow
maximum number of rows
Definition: DetectorData.h:86
dd4hep::rec::ZPlanarStruct
Definition: DetectorData.h:104
dd4hep::rec::ZPlanarStruct::rOuterShell
double rOuterShell
The outer radius of the support shell.
Definition: DetectorData.h:112
dd4hep::rec::ZDiskPetalsStruct::LayerLayout::widthOuterSupport
double widthOuterSupport
The outer width of the petal support.
Definition: DetectorData.h:279
dd4hep::rec::LayeredCalorimeterStruct::Layer::outer_nInteractionLengths
double outer_nInteractionLengths
Absorber material in behind of sensitive element in the layer, units of radiation lengths.
Definition: DetectorData.h:450
dd4hep::rec::ZDiskPetalsStruct::lengthStrip
double lengthStrip
length of the strips (if applicable )
Definition: DetectorData.h:204
dd4hep::rec::StructExtension::StructExtension
StructExtension()
Definition: DetectorData.h:38
dd4hep::rec::MapStringVariantStruct::get
T & get(const std::string &key)
Definition: DetectorData.h:526
dd4hep::rec::FixedPadSizeTPCStruct::rMax
double rMax
outer radius of the TPC
Definition: DetectorData.h:68
dd4hep::rec::NeighbourSurfacesStruct::nextLayer
std::map< dd4hep::CellID, std::vector< dd4hep::CellID > > nextLayer
map of all neighbours in the next layer
Definition: DetectorData.h:495
dd4hep::rec::ZPlanarStruct::LayerLayout::phi0
double phi0
Azimuthal angle of the (outward pointing) normal of the first ladder.
Definition: DetectorData.h:151
dd4hep::rec::FixedPadSizeTPCStruct::padHeight
double padHeight
pad height of readout rows
Definition: DetectorData.h:82
dd4hep::rec::FixedPadSizeTPCStruct::padGap
double padGap
gap between pads
Definition: DetectorData.h:88
dd4hep::rec::MapStringVariantStruct::value_or
T value_or(const std::string &key, T alternative) const
Definition: DetectorData.h:535
dd4hep::rec::FixedPadSizeTPCStruct::zMinReadout
double zMinReadout
start z of active Volume (typically cathode half thickness)
Definition: DetectorData.h:72
dd4hep::rec::LayeredCalorimeterStruct::EndcapLayout
@ EndcapLayout
Definition: DetectorData.h:363
dd4hep::rec::ZDiskPetalsStruct::LayerLayout::alphaPetal
double alphaPetal
Definition: DetectorData.h:251
dd4hep::rec::StructExtension::StructExtension
StructExtension(const StructExtension< T > &t, const DetElement &)
Definition: DetectorData.h:42