12 std::string geometryFilePath1 = getenv(
"MDCSIMROOT" );
13 geometryFilePath1 +=
"/dat/MdcElectronics.txt";
16 in.open( geometryFilePath1.c_str() );
18 const int maxCharOneLine = 255;
19 char temp[maxCharOneLine];
21 while ( in.peek() != EOF )
23 in.getline( temp, maxCharOneLine );
25 if ( temp[0] ==
'#' )
continue;
29 istringstream( temp ) >> fTotalElecLayerNo;
32 if ( i >= 4 && i <= 26 )
34 istringstream( temp ) >> fLayerr[i - 4] >> fElecNo[i - 4];
37 if ( i > 28 && i <= 51 )
39 istringstream( temp ) >> fX[i - 29] >> fY[i - 29] >> fZ[i - 29] >> fR[i - 29];
44 istringstream( temp ) >> fBoxInStep[0] >> fBoxInStep[1] >> fBoxInStep[2];
49 istringstream( temp ) >> fBoxEndcape[0] >> fBoxEndcape[1] >> fBoxEndcape[2];
52 if ( i == 63 ) { istringstream( temp ) >> fFixRing[0] >> fFixRing[1] >> fFixRing[2]; }
53 if ( i >= 76 && i < 87 )
55 istringstream( temp ) >> fInnerRCableFrame[i - 76] >> fOuterRCableFrame[i - 76] >>
56 fLengthCableFrame[i - 76] >> fZCableFrame[i - 76];
61 istringstream( temp ) >> fThinPlate[0] >> fThinPlate[1] >> fThinPlate[2];
65 if ( i >= 93 && i < 105 )
67 istringstream( temp ) >> fXCenThinPlate[i - 93] >> fYCenThinPlate[i - 93] >>
68 fZCenThinPlate[i - 93] >> fRotateXAngle[i - 93];
74 istringstream( temp ) >> fLengthCableTub[0] >> fLengthCableTub[1] >>
75 fLengthCableTub[2] >> fLengthCableTub[3] >> fLengthCableTub[4] >>
76 fLengthCableTub[5] >> fLengthCableTub[6] >> fLengthCableTub[7] >>
77 fLengthCableTub[8] >> fLengthCableTub[9] >> fLengthCableTub[10] >>
78 fLengthCableTub[11] >> fLengthCableTub[12];
83 istringstream( temp ) >> fLengthCableTub[13] >> fLengthCableTub[14] >>
84 fLengthCableTub[15] >> fLengthCableTub[16] >> fLengthCableTub[17] >>
85 fLengthCableTub[18] >> fLengthCableTub[19] >> fLengthCableTub[20] >>
86 fLengthCableTub[21] >> fLengthCableTub[22] >> fLengthCableTub[23] >>