15 #include <boost/io/ios_state.hpp>
22 boost::io::ios_base_all_saver ifs(io);
25 io <<
" zHalf : " << d.zHalf <<
std::endl ;
28 io <<
" driftLength : " << d.driftLength <<
std::endl ;
29 io <<
" zMinReadout : " << d.zMinReadout <<
std::endl ;
30 io <<
" rMinReadout : " << d.rMinReadout <<
std::endl ;
31 io <<
" rMaxReadout : " << d.rMaxReadout <<
std::endl ;
32 io <<
" innerWallThickness : " << d.innerWallThickness <<
std::endl ;
33 io <<
" outerWallThickness : " << d.outerWallThickness <<
std::endl ;
34 io <<
" padHeight : " << d.padHeight <<
std::endl ;
35 io <<
" padWidth : " << d.padWidth <<
std::endl ;
36 io <<
" maxRow : " << d.maxRow <<
std::endl ;
37 io <<
" padGap : " << d.padGap <<
std::endl ;
45 boost::io::ios_base_all_saver ifs(io);
48 io <<
" zHalfShell : " << d.zHalfShell <<
std::endl ;
49 io <<
" gapShell : " << d.gapShell <<
std::endl ;
50 io <<
" rInnerShell : " << d.rInnerShell <<
std::endl ;
51 io <<
" rOuterShell : " << d.rOuterShell <<
std::endl ;
52 io <<
" widthStrip : " << d.widthStrip <<
std::endl ;
53 io <<
" lengthStrip : " << d.lengthStrip <<
std::endl ;
54 io <<
" pitchStrip : " << d.pitchStrip <<
std::endl ;
55 io <<
" angleStrip : " << d.angleStrip <<
std::endl ;
59 io <<
" Layers : " << std::endl
60 <<
" nLadder phi0 nSensors lengthSensor distSupport thickSupport offsetSupport widthSupport zHalfSupport distSense thickSense offsetSense widthSense zHalfSense" <<
std::endl ;
64 for(
unsigned i=0,N=layers.
size() ; i<N ; ++i){
66 ZPlanarData::LayerLayout l = layers[i] ;
68 io <<
" " << l.ladderNumber
70 <<
" " << l.sensorsPerLadder
71 <<
" " << l.lengthSensor
72 <<
" " << l.distanceSupport
73 <<
" " << l.thicknessSupport
74 <<
" " << l.offsetSupport
75 <<
" " << l.widthSupport
76 <<
" " << l.zHalfSupport
77 <<
" " << l.distanceSensitive
78 <<
" " << l.thicknessSensitive
79 <<
" " << l.offsetSensitive
80 <<
" " << l.widthSensitive
81 <<
" " << l.zHalfSensitive
89 boost::io::ios_base_all_saver ifs(io);
92 io <<
" widthStrip : " << d.widthStrip <<
std::endl ;
93 io <<
" lengthStrip : " << d.lengthStrip <<
std::endl ;
94 io <<
" pitchStrip : " << d.pitchStrip <<
std::endl ;
95 io <<
" angleStrip : " << d.angleStrip <<
std::endl ;
99 io <<
" Layers : " << std::endl
100 <<
" petHalfAngle alphaPetal zPosition nP n d p phi0 zOffsetSup distSupport thickSupport widthInSup widthOutSup lengthSup zOffsetSense distSense thickSense widthInSense widthOutSense lenSense" <<
std::endl ;
104 for(
unsigned i=0,N=layers.
size() ; i<N ; ++i){
106 ZDiskPetalsData::LayerLayout l = layers[i] ;
108 io <<
" " << l.petalHalfAngle
109 <<
" " << l.alphaPetal
110 <<
" " << l.zPosition
111 <<
" " << l.petalNumber
112 <<
" " << l.sensorsPerPetal
113 <<
" " << l.typeFlags[ ZDiskPetalsData::SensorType::DoubleSided ]
114 <<
" " << l.typeFlags[ ZDiskPetalsData::SensorType::Pixel ]
116 <<
" " << l.zOffsetSupport
117 <<
" " << l.distanceSupport
118 <<
" " << l.thicknessSupport
119 <<
" " << l.widthInnerSupport
120 <<
" " << l.widthOuterSupport
121 <<
" " << l.lengthSupport
122 <<
" " << l.zOffsetSensitive
123 <<
" " << l.distanceSensitive
124 <<
" " << l.thicknessSensitive
125 <<
" " << l.widthInnerSensitive
126 <<
" " << l.widthOuterSensitive
127 <<
" " << l.lengthSensitive
131 io <<
" nP:petalNumber n:sensorsPerPetal d:DoubleSided p: Pixel " <<
std::endl ;
138 boost::io::ios_base_all_saver ifs(io);
141 io <<
" isSymmetricInZ : " << d.isSymmetricInZ <<
std::endl ;
145 io <<
" Sections : " << std::endl
148 for(
unsigned i=0,N=layers.
size() ; i<N ; ++i){
150 ConicalSupportData::Section l = layers[i] ;
152 io <<
" " << l.rInner
162 boost::io::ios_base_all_saver ifs(io);
165 switch (d.layoutType){
167 << d.extent[0] <<
" " << d.extent[1] <<
" " << d.extent[2] <<
" " << d.extent[3] <<
std::endl ;
break; }
169 << d.extent[0] <<
" " << d.extent[1] <<
" " << d.extent[2] <<
" " << d.extent[3] <<
std::endl ;
break; }
170 case LayeredCalorimeterStruct::ConicalLayout: { io <<
" LayoutType : ConicalLayout " <<
std::endl ; io <<
" extent[ rmin, rmax, zmin, zmax, rEndMin, rEndMax ] : " << d.extent[0] <<
" " << d.extent[1] <<
" " << d.extent[2] <<
" " << d.extent[3] <<
" " << d.extent[4] <<
" " << d.extent[5] <<
std::endl ;
break;}
172 io <<
" outer_symmetry : " << d.outer_symmetry <<
std::endl ;
173 io <<
" inner_symmetry : " << d.inner_symmetry <<
std::endl ;
174 io <<
" outer_phi0 : " << d.outer_phi0 <<
std::endl ;
175 io <<
" inner_phi0 : " << d.inner_phi0 <<
std::endl ;
176 io <<
" gap1 : " << d.gap1 <<
std::endl ;
177 io <<
" gap2 : " << d.gap2 <<
std::endl ;
181 io <<
" Layers : " << std::endl
182 <<
" distance inner_nX0 outer_nX0 inner_nInt outer_nInt inner_thick outer_thick sense_thick cellSize0 cellSize1"
185 for(
unsigned i=0,N=layers.
size() ; i<N ; ++i){
187 LayeredCalorimeterData::Layer l = layers[i] ;
189 io <<
" " << l.distance
190 <<
" " << l.inner_nRadiationLengths
191 <<
" " << l.outer_nRadiationLengths
192 <<
" " << l.inner_nInteractionLengths
193 <<
" " << l.outer_nInteractionLengths
194 <<
" " << l.inner_thickness
195 <<
" " << l.outer_thickness
196 <<
" " << l.sensitive_thickness
197 <<
" " << l.cellSize0
198 <<
" " << l.cellSize1
208 boost::io::ios_base_all_saver ifs(io);
211 io <<
" sameLayer.size() : " << d.sameLayer.size() <<
std::endl ;
217 boost::io::ios_base_all_saver ifs(io);
219 for (
auto const& thePair: d.doubleParameters) {
std::ostream & operator<<(std::ostream &io, const FixedPadSizeTPCData &d)
Wrapper class for adding structs or pods as extensions to DetElements.