209 ofstream SiFileOut(xml_file_name.
Data(), ios::out);
211 SiFileOut <<
"<StationSet>\n";
216 cout <<
"istation = " << istation <<
": -----------------------------\n";
218 SiFileOut <<
"<!-- Station " << istation <<
" -->\n";
220 SiFileOut <<
"\t<Station";
224 SiFileOut <<
" rotAngleDeg=\"" <<
"0.0" <<
"\"";
225 SiFileOut <<
" rotCenterX=\"" <<
"0.0" <<
"\"";
226 SiFileOut <<
" rotCenterY=\"" <<
"0.0" <<
"\"";
232 cout <<
" imodule = " << imodule <<
"\n";
234 SiFileOut <<
"\t\t<!-- module " << imodule <<
" -->\n";
236 SiFileOut <<
"\t\t<Module";
237 SiFileOut <<
" xShift=\"" <<
XModuleShifts[istation][imodule] <<
"\"";
238 SiFileOut <<
" yShift=\"" <<
YModuleShifts[istation][imodule] <<
"\"";
241 SiFileOut <<
" zShift=\"" <<
ZModuleShifts[istation][imodule] <<
"\"";
265 Int_t firstStripNumber_Layer[3];
267 Double_t XDeadZoneInMainInclinedLayer[3];
268 Double_t YDeadZoneInMainInclinedLayer[3];
270 Double_t XDeadZoneInCornerInclinedLayer[4];
271 Double_t YDeadZoneInCornerInclinedLayer[4];
332 YDeadZoneInMainInclinedLayer[0] =
YOrigLayer[0];
334 XDeadZoneInMainInclinedLayer[1] =
336 YDeadZoneInMainInclinedLayer[1] =
YOrigLayer[0];
343 XDeadZoneInCornerInclinedLayer[0] =
XOrigLayer[0];
344 YDeadZoneInCornerInclinedLayer[0] =
YOrigLayer[0];
346 XDeadZoneInCornerInclinedLayer[1] =
XOrigLayer[0];
352 XDeadZoneInCornerInclinedLayer[3] =
354 YDeadZoneInCornerInclinedLayer[3] =
YOrigLayer[0];
416 XDeadZoneInMainInclinedLayer[0] =
XOrigLayer[0];
417 YDeadZoneInMainInclinedLayer[0] =
YOrigLayer[0];
419 XDeadZoneInMainInclinedLayer[1] =
421 YDeadZoneInMainInclinedLayer[1] =
YOrigLayer[0];
423 XDeadZoneInMainInclinedLayer[2] =
XOrigLayer[0];
429 YDeadZoneInCornerInclinedLayer[0] =
YOrigLayer[0];
434 XDeadZoneInCornerInclinedLayer[2] =
XOrigLayer[0];
437 XDeadZoneInCornerInclinedLayer[3] =
439 YDeadZoneInCornerInclinedLayer[3] =
YOrigLayer[0];
504 XDeadZoneInMainInclinedLayer[1] =
509 YDeadZoneInMainInclinedLayer[2] =
YOrigLayer[0];
513 XDeadZoneInCornerInclinedLayer[0] =
XOrigLayer[0];
516 XDeadZoneInCornerInclinedLayer[1] =
XOrigLayer[0];
517 YDeadZoneInCornerInclinedLayer[1] =
YOrigLayer[0];
520 YDeadZoneInCornerInclinedLayer[2] =
YOrigLayer[0];
522 XDeadZoneInCornerInclinedLayer[3] =
586 XDeadZoneInMainInclinedLayer[0] =
XOrigLayer[0];
589 XDeadZoneInMainInclinedLayer[1] =
593 XDeadZoneInMainInclinedLayer[2] =
XOrigLayer[0];
594 YDeadZoneInMainInclinedLayer[2] =
YOrigLayer[0];
602 YDeadZoneInCornerInclinedLayer[1] =
YOrigLayer[0];
604 XDeadZoneInCornerInclinedLayer[2] =
XOrigLayer[0];
605 YDeadZoneInCornerInclinedLayer[2] =
YOrigLayer[0];
607 XDeadZoneInCornerInclinedLayer[3] =
614 cout <<
" Orig_Layer[0](x:y) = ( " << xOrig_Layer[0] <<
" : " << yOrig_Layer[0] <<
" )\n";
615 cout <<
" Orig_Layer[1](x:y) = ( " << xOrig_Layer[1] <<
" : " << yOrig_Layer[1] <<
" )\n";
616 cout <<
" Orig_Layer[2](x:y) = ( " << xOrig_Layer[2] <<
" : " << yOrig_Layer[2] <<
" )\n";
620 cout <<
" Size_Layer[0](dx:dy) = ( " << xSize_Layer[0] <<
" : " << ySize_Layer[0] <<
" )\n";
621 cout <<
" Size_Layer[1](dx:dy) = ( " << xSize_Layer[1] <<
" : " << ySize_Layer[1] <<
" )\n";
622 cout <<
" Size_Layer[2](dx:dy) = ( " << xSize_Layer[2] <<
" : " << ySize_Layer[2] <<
" )\n";
626 cout <<
" LBorder_Layer[0](x:y) = ( " << xLBorder_Layer[0] <<
" : " << yLBorder_Layer[0] <<
" )\n";
627 cout <<
" RBorder_Layer[0](x:y) = ( " << xRBorder_Layer[0] <<
" : " << yRBorder_Layer[0] <<
" )\n";
630 cout <<
" LBorder_Layer[1](x:y) = ( " << xLBorder_Layer[1] <<
" : " << yLBorder_Layer[1] <<
" )\n";
631 cout <<
" RBorder_Layer[1](x:y) = ( " << xRBorder_Layer[1] <<
" : " << yRBorder_Layer[1] <<
" )\n";
634 cout <<
" LBorder_Layer[2](x:y) = ( " << xLBorder_Layer[2] <<
" : " << yLBorder_Layer[2] <<
" )\n";
635 cout <<
" RBorder_Layer[2](x:y) = ( " << xRBorder_Layer[2] <<
" : " << yRBorder_Layer[2] <<
" )\n";
639 cout <<
" stripDirection[0] = ";
641 cout <<
"LeftToRight\n";
643 cout <<
"RightToLeft\n";
644 cout <<
" stripDirection[1] = ";
646 cout <<
"LeftToRight\n";
648 cout <<
"RightToLeft\n";
649 cout <<
" stripDirection[2] = ";
651 cout <<
"LeftToRight\n";
653 cout <<
"RightToLeft\n";
657 cout <<
" pitchValue[0] = " << pitchValue[0] <<
"\n";
658 cout <<
" pitchValue[1] = " << pitchValue[1] <<
"\n";
659 cout <<
" pitchValue[2] = " << pitchValue[2] <<
"\n";
663 cout <<
" stripAngle[0] = " << stripAngle[0] <<
"\n";
664 cout <<
" stripAngle[1] = " << stripAngle[1] <<
"\n";
665 cout <<
" stripAngle[2] = " << stripAngle[2] <<
"\n";
669 cout <<
" firstStripNumber_Layer[0] = " << firstStripNumber_Layer[0] <<
"\n";
670 cout <<
" firstStripNumber_Layer[1] = " << firstStripNumber_Layer[1] <<
"\n";
671 cout <<
" firstStripNumber_Layer[2] = " << firstStripNumber_Layer[2] <<
"\n";
675 SiFileOut <<
"\t\t\t<Layer";
676 SiFileOut <<
" zoneID=\"" <<
"0" <<
"\"";
677 SiFileOut <<
" type=\"" <<
"lower" <<
"\"";
678 SiFileOut <<
" firstStripNumber=\"" << firstStripNumber_Layer[2] <<
"\"";
679 SiFileOut <<
" stripAngle=\"" << stripAngle[2] <<
"\"";
680 SiFileOut <<
" pitch=\"" << pitchValue[2] <<
"\"";
681 SiFileOut <<
" xorig=\"" << xOrig_Layer[2] <<
"\"";
682 SiFileOut <<
" yorig=\"" << yOrig_Layer[2] <<
"\"";
683 SiFileOut <<
" xsize=\"" << xSize_Layer[2] <<
"\"";
684 SiFileOut <<
" ysize=\"" << ySize_Layer[2] <<
"\"";
685 SiFileOut <<
" stripDirection=\"";
687 SiFileOut <<
"LeftToRight\"";
689 SiFileOut <<
"RightToLeft\"";
690 SiFileOut <<
" lxborder=\"" << xLBorder_Layer[2] <<
"\"";
691 SiFileOut <<
" lyborder=\"" << yLBorder_Layer[2] <<
"\"";
692 SiFileOut <<
" rxborder=\"" << xRBorder_Layer[2] <<
"\"";
693 SiFileOut <<
" ryborder=\"" << yRBorder_Layer[2] <<
"\"";
696 SiFileOut <<
"</Layer>\n";
700 SiFileOut <<
"\t\t\t<Layer";
701 SiFileOut <<
" zoneID=\"" <<
"1" <<
"\"";
702 SiFileOut <<
" type=\"" <<
"upper" <<
"\"";
703 SiFileOut <<
" firstStripNumber=\"" << firstStripNumber_Layer[0] <<
"\"";
704 SiFileOut <<
" stripAngle=\"" << stripAngle[0] <<
"\"";
705 SiFileOut <<
" pitch=\"" << pitchValue[0] <<
"\"";
706 SiFileOut <<
" xorig=\"" << xOrig_Layer[0] <<
"\"";
707 SiFileOut <<
" yorig=\"" << yOrig_Layer[0] <<
"\"";
708 SiFileOut <<
" xsize=\"" << xSize_Layer[0] <<
"\"";
709 SiFileOut <<
" ysize=\"" << ySize_Layer[0] <<
"\"";
710 SiFileOut <<
" stripDirection=\"";
712 SiFileOut <<
"LeftToRight\"";
714 SiFileOut <<
"RightToLeft\"";
715 SiFileOut <<
" lxborder=\"" << xLBorder_Layer[0] <<
"\"";
716 SiFileOut <<
" lyborder=\"" << yLBorder_Layer[0] <<
"\"";
717 SiFileOut <<
" rxborder=\"" << xRBorder_Layer[0] <<
"\"";
718 SiFileOut <<
" ryborder=\"" << yRBorder_Layer[0] <<
"\"";
722 SiFileOut <<
"\t\t\t\t<DeadZone>\n";
723 for (
Int_t ipoint = 0; ipoint < 3; ++ipoint) {
724 SiFileOut <<
"\t\t\t\t\t<DeadPoint";
725 SiFileOut <<
" x=\"" << XDeadZoneInMainInclinedLayer[ipoint] <<
"\"";
726 SiFileOut <<
" y=\"" << YDeadZoneInMainInclinedLayer[ipoint] <<
"\"";
727 SiFileOut <<
" />\n";
729 SiFileOut <<
"\t\t\t\t</DeadZone>\n\t\t\t";
731 SiFileOut <<
"</Layer>\n";
735 SiFileOut <<
"\t\t\t<Layer";
736 SiFileOut <<
" zoneID=\"" <<
"1" <<
"\"";
737 SiFileOut <<
" type=\"" <<
"upper" <<
"\"";
738 SiFileOut <<
" firstStripNumber=\"" << firstStripNumber_Layer[1] <<
"\"";
739 SiFileOut <<
" stripAngle=\"" << stripAngle[1] <<
"\"";
740 SiFileOut <<
" pitch=\"" << pitchValue[1] <<
"\"";
741 SiFileOut <<
" xorig=\"" << xOrig_Layer[1] <<
"\"";
742 SiFileOut <<
" yorig=\"" << yOrig_Layer[1] <<
"\"";
743 SiFileOut <<
" xsize=\"" << xSize_Layer[1] <<
"\"";
744 SiFileOut <<
" ysize=\"" << ySize_Layer[1] <<
"\"";
745 SiFileOut <<
" stripDirection=\"";
747 SiFileOut <<
"LeftToRight\"";
749 SiFileOut <<
"RightToLeft\"";
750 SiFileOut <<
" lxborder=\"" << xLBorder_Layer[1] <<
"\"";
751 SiFileOut <<
" lyborder=\"" << yLBorder_Layer[1] <<
"\"";
752 SiFileOut <<
" rxborder=\"" << xRBorder_Layer[1] <<
"\"";
753 SiFileOut <<
" ryborder=\"" << yRBorder_Layer[1] <<
"\"";
757 SiFileOut <<
"\t\t\t\t<DeadZone>\n";
758 for (
Int_t ipoint = 0; ipoint < 4; ++ipoint) {
759 SiFileOut <<
"\t\t\t\t\t<DeadPoint";
760 SiFileOut <<
" x=\"" << XDeadZoneInCornerInclinedLayer[ipoint] <<
"\"";
761 SiFileOut <<
" y=\"" << YDeadZoneInCornerInclinedLayer[ipoint] <<
"\"";
762 SiFileOut <<
" />\n";
764 SiFileOut <<
"\t\t\t\t</DeadZone>\n\t\t\t";
766 SiFileOut <<
"</Layer>\n";
769 SiFileOut <<
"\t\t</Module>\n";
773 SiFileOut <<
"\t</Station>\n";
776 cout <<
"------------------------------------------------------------\n";
779 SiFileOut <<
"</StationSet>\n";