18 {
19 G4String GeometryPath = getenv( "BESSIMROOT" );
20 if ( !GeometryPath )
21 {
22 G4cout << "BOOST environment not set!" << G4endl;
23 exit( -1 );
24 }
25 GeometryPath += "/dat/BesPip.txt";
26
28 fin.open( GeometryPath );
29
30 const int maxCharOfOneLine = 255;
31 char temp[maxCharOfOneLine], *p;
32 int lineNo = 0, inputNo = 0;
33 while ( fin.peek() != EOF )
34 {
35 fin.getline( temp, maxCharOfOneLine );
36 p = temp;
37 lineNo++;
38 while ( *p != '\0' )
39 {
40 if ( *p == '#' )
41 {
42 *p = '\0';
43 break;
44 }
45 p++;
46 }
47 p = temp;
48 while ( *p == ' ' || *p == '\t' ) p++;
49 if ( *p == '\0' ) continue;
50 inputNo++;
51 switch ( inputNo )
52 {
53 case 1: istrstream( p ) >> goldLayer[0] >> goldLayer[1] >> goldLayer[2]; break;
54 case 2: istrstream( p ) >> innerBe[0] >> innerBe[1] >> innerBe[2]; break;
55 case 3: istrstream( p ) >> oilLayer[0] >> oilLayer[1] >> oilLayer[2]; break;
56 case 4: istrstream( p ) >> outerBe[0] >> outerBe[1] >> outerBe[2]; break;
57 case 5:
58 istrstream( p ) >> innerBeSide[0] >> innerBeSide[1] >> innerBeSide[2] >>
59 innerBeSide[3] >> innerBeSide[4];
60 break;
61 case 6:
62 istrstream( p ) >> innerAl[0] >> innerAl[1] >> innerAl[2] >> innerAl[3] >> innerAl[4];
63 break;
64 case 7:
65 istrstream( p ) >> AlRing[0] >> AlRing[1] >> AlRing[2] >> AlRing[3] >> AlRing[4];
66 break;
67 case 8:
68 istrstream( p ) >> outerAl[0] >> outerAl[1] >> outerAl[2] >> outerAl[3] >> outerAl[4];
69 break;
70 case 9:
71 istrstream( p ) >> AgLayer[0] >> AgLayer[1] >> AgLayer[2] >> AgLayer[3] >> AgLayer[4];
72 break;
73 case 10:
74 istrstream( p ) >> CuLayer[0] >> CuLayer[1] >> CuLayer[2] >> CuLayer[3] >> CuLayer[4];
75 break;
76 case 11:
77 istrstream( p ) >> AlCover[0] >> AlCover[1] >> AlCover[2] >> AlCover[3] >> AlCover[4];
78 }
79 }
80}