DD4hep - The AIDA detector description toolkit for high energy physics experiments
DD4hep  Rev:Unversioneddirectory
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DetectorData.cpp
Go to the documentation of this file.
1 #include "DDRec/DetectorData.h"
2 
3 namespace DD4hep {
4  namespace DDRec {
5 
6 
7  std::ostream& operator<<( std::ostream& io , const FixedPadSizeTPCData& d ){
8  io << " --FixedPadSizeTPCData: " << std::scientific << std::endl ;
9  io << " zHalf : " << d.zHalf << std::endl ;
10  io << " rMin : " << d.rMin << std::endl ;
11  io << " rMax : " << d.rMax << std::endl ;
12  io << " driftLength : " << d.driftLength << std::endl ;
13  io << " rMinReadout : " << d.rMinReadout << std::endl ;
14  io << " rMaxReadout : " << d.rMaxReadout << std::endl ;
15  io << " innerWallThickness : " << d.innerWallThickness << std::endl ;
16  io << " outerWallThickness : " << d.outerWallThickness << std::endl ;
17  io << " padHeight : " << d.padHeight << std::endl ;
18  io << " padWidth : " << d.padWidth << std::endl ;
19  io << " maxRow : " << d.maxRow << std::endl ;
20  io << " padGap : " << d.padGap << std::endl ;
21  // io << " : " << d. << std::endl ;
22  return io ;
23  }
24 
25 
26 
27  std::ostream& operator<<( std::ostream& io , const ZPlanarData& d ) {
28 
29  io << " -- ZPlanarData: " << std::scientific << std::endl ;
30  io << " zHalfShell : " << d.zHalfShell << std::endl ;
31  io << " gapShell : " << d.gapShell << std::endl ;
32  io << " rInnerShell : " << d.rInnerShell << std::endl ;
33  io << " rOuterShell : " << d.rOuterShell << std::endl ;
34  io << " widthStrip : " << d.widthStrip << std::endl ;
35  io << " lengthStrip : " << d.lengthStrip << std::endl ;
36  io << " pitchStrip : " << d.pitchStrip << std::endl ;
37  io << " angleStrip : " << d.angleStrip << std::endl ;
38 
39  std::vector<ZPlanarData::LayerLayout> layers = d.layers ;
40 
41  io << " Layers : " << std::endl
42  << " nLadder phi0 nSensors lengthSensor distSupport thickSupport offsetSupport widthSupport zHalfSupport distSense thickSense offsetSense widthSense zHalfSense" << std::endl ;
43 
44  //"ladderNumber phi0 sensorsPerLadder lengthSensor distanceSupport thicknessSupport offsetSupport widthSupport zHalfSupport distanceSensitive thicknessSensitive offsetSensitive widthSensitive zHalfSensitive" << std::endl ;
45 
46  for(unsigned i=0,N=layers.size() ; i<N ; ++i){
47 
48  ZPlanarData::LayerLayout l = layers[i] ;
49 
50  io << " " << l.ladderNumber
51  << " " << l.phi0
52  << " " << l.sensorsPerLadder
53  << " " << l.lengthSensor
54  << " " << l.distanceSupport
55  << " " << l.thicknessSupport
56  << " " << l.offsetSupport
57  << " " << l.widthSupport
58  << " " << l.zHalfSupport
59  << " " << l.distanceSensitive
60  << " " << l.thicknessSensitive
61  << " " << l.offsetSensitive
62  << " " << l.widthSensitive
63  << " " << l.zHalfSensitive
64  << std::endl ;
65  }
66 
67 
68  return io ;
69  }
70 
71  std::ostream& operator<<( std::ostream& io , const ZDiskPetalsData& d ) {
72 
73  io << " -- ZDiskPetalsData: " << std::scientific << std::endl ;
74  io << " widthStrip : " << d.widthStrip << std::endl ;
75  io << " lengthStrip : " << d.lengthStrip << std::endl ;
76  io << " pitchStrip : " << d.pitchStrip << std::endl ;
77  io << " angleStrip : " << d.angleStrip << std::endl ;
78 
79  std::vector<ZDiskPetalsData::LayerLayout> layers = d.layers ;
80 
81  io << " Layers : " << std::endl
82  << " petHalfAngle alphaPetal zPosition nP n d p phi0 zOffsetSup distSupport thickSupport widthInSup widthOutSup lengthSup zOffsetSense distSense thickSense widthInSense widthOutSense lenSense" << std::endl ;
83 
84  //"petalHalfAngle alphaPetal zPosition petalNumber sensorsPerPetal DoubleSided Pixel phi0 zOffsetSupport distanceSupport thicknessSupport widthInnerSupport widthOuterSupport lengthSupport zOffsetSensitive distanceSensitive thicknessSensitive widthInnerSensitive widthOuterSensitive lengthSensitive" << std::endl ;
85 
86  for(unsigned i=0,N=layers.size() ; i<N ; ++i){
87 
88  ZDiskPetalsData::LayerLayout l = layers[i] ;
89 
90  io << " " << l.petalHalfAngle
91  << " " << l.alphaPetal
92  << " " << l.zPosition
93  << " " << l.petalNumber
94  << " " << l.sensorsPerPetal
95  << " " << l.typeFlags[ ZDiskPetalsData::SensorType::DoubleSided ]
96  << " " << l.typeFlags[ ZDiskPetalsData::SensorType::Pixel ]
97  << " " << l.phi0
98  << " " << l.zOffsetSupport
99  << " " << l.distanceSupport
100  << " " << l.thicknessSupport
101  << " " << l.widthInnerSupport
102  << " " << l.widthOuterSupport
103  << " " << l.lengthSupport
104  << " " << l.zOffsetSensitive
105  << " " << l.distanceSensitive
106  << " " << l.thicknessSensitive
107  << " " << l.widthInnerSensitive
108  << " " << l.widthOuterSensitive
109  << " " << l.lengthSensitive
110  << std::endl ;
111  }
112 
113  io << " nP:petalNumber n:sensorsPerPetal d:DoubleSided p: Pixel " << std::endl ;
114  return io ;
115  }
116 
117 
118  std::ostream& operator<<( std::ostream& io , const ConicalSupportData& d ) {
119 
120  io << " -- ConicalSupportData : " << std::scientific << std::endl ;
121  io << " isSymmetricInZ : " << d.isSymmetricInZ << std::endl ;
122 
123  std::vector<ConicalSupportData::Section> layers = d.sections ;
124 
125  io << " Sections : " << std::endl
126  << "rInner rOuter zPos " << std::endl ;
127 
128  for(unsigned i=0,N=layers.size() ; i<N ; ++i){
129 
130  ConicalSupportData::Section l = layers[i] ;
131 
132  io << " " << l.rInner
133  << " " << l.rOuter
134  << " " << l.zPos
135  << std::endl ;
136  }
137  return io ;
138  }
139 
140 
141  std::ostream& operator<<( std::ostream& io , const LayeredCalorimeterData& d ) {
142 
143  io << " -- LayeredCalorimeterData : " << std::scientific << std::endl ;
144  io << " LayoutType : " << ( d.layoutType == LayeredCalorimeterStruct::BarrelLayout ?
145  "BarrelLayout" : "EndcapLayout" ) << std::endl ;
146  io << " extent[ rmin, rmax, zmin, zmax ] : "
147  << d.extent[0] << " " << d.extent[1] << " " << d.extent[2] << " " << d.extent[3] << std::endl ;
148  io << " outer_symmetry : " << d.outer_symmetry << std::endl ;
149  io << " inner_symmetry : " << d.inner_symmetry << std::endl ;
150  io << " outer_phi0 : " << d.outer_phi0 << std::endl ;
151  io << " inner_phi0 : " << d.inner_phi0 << std::endl ;
152  io << " gap1 : " << d.gap1 << std::endl ;
153  io << " gap2 : " << d.gap2 << std::endl ;
154 
155  std::vector<LayeredCalorimeterData::Layer> layers = d.layers ;
156 
157  io << " Layers : " << std::endl
158  << " distance inner_nX0 outer_nX0 inner_nInt outer_nInt inner_thick outer_thick sense_thick"
159  << std::endl ;
160  //"distance inner_nX0 outer_nX0 inner_nLambda outer_nLambda inner_thick outer_thick sensitive_thick" << std::endl ;
161 
162  for(unsigned i=0,N=layers.size() ; i<N ; ++i){
163 
164  LayeredCalorimeterData::Layer l = layers[i] ;
165 
166  io << " " << l.distance
167  << " " << l.inner_nRadiationLengths
168  << " " << l.outer_nRadiationLengths
169  << " " << l.inner_nInteractionLengths
170  << " " << l.outer_nInteractionLengths
171  << " " << l.inner_thickness
172  << " " << l.outer_thickness
173  << " " << l.sensitive_thickness
174  << std::endl ;
175  }
176 
177  return io ;
178  }
179 
180 
181  } // namespace
182 }
std::ostream & operator<<(std::ostream &io, const FixedPadSizeTPCData &d)
Definition: DetectorData.cpp:7