/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Simulation/BOOST/BesSim/BesSim-00-01-24/src/BesPipParameter.cc

Go to the documentation of this file.
00001 //BOOST --- BESIII Object_Oriented Simulation Tool               //
00002 //Description:
00003 //Author: Caogf
00004 //Created: June, 2008
00005 //Modified:
00006 //Comment:
00007 //---------------------------------------------------------------------//
00008 //$ID: BesPipParameter.cc
00009 
00010 #include "BesPipParameter.hh"
00011 #include <fstream>
00012 #include <strstream>
00013 #include "ReadBoostRoot.hh"
00014 using namespace std;
00015 
00016 BesPipParameter::BesPipParameter()
00017 {
00018 }
00019 BesPipParameter::~BesPipParameter()
00020 {
00021 }
00022 void BesPipParameter::ReadData()
00023 {
00024   G4String GeometryPath = getenv("BESSIMROOT");
00025   if(!GeometryPath){
00026     G4Exception("BOOST environment not set!");
00027   }
00028   GeometryPath += "/dat/BesPip.txt";
00029 
00030   ifstream fin;
00031   fin.open(GeometryPath);
00032 
00033   const int maxCharOfOneLine=255;
00034   char temp[maxCharOfOneLine],*p;
00035   int lineNo=0,inputNo=0;
00036   while(fin.peek()!=EOF)
00037   {
00038     fin.getline(temp,maxCharOfOneLine);
00039     p=temp;
00040     lineNo++;
00041     while(*p!='\0')
00042     {
00043       if(*p=='#')
00044       {
00045         *p='\0';  //delete the comments.
00046          break;
00047       }
00048       p++;
00049     }
00050     p=temp; //reset the pointer to the beginning of the string.
00051     while(*p==' '||*p=='\t')p++;
00052     if(*p=='\0')continue;
00053     inputNo++;
00054     switch(inputNo)
00055     {
00056       case 1:
00057         istrstream(p)>>goldLayer[0]>>goldLayer[1]>>goldLayer[2];
00058       break;
00059       case 2:
00060         istrstream(p)>>innerBe[0]>>innerBe[1]>>innerBe[2];
00061       break;
00062       case 3:
00063         istrstream(p)>>oilLayer[0]>>oilLayer[1]>>oilLayer[2];
00064       break;
00065       case 4:
00066         istrstream(p)>>outerBe[0]>>outerBe[1]>>outerBe[2];
00067       break;
00068       case 5:
00069         istrstream(p)>>innerBeSide[0]>>innerBeSide[1]>>innerBeSide[2]>>innerBeSide[3]>>innerBeSide[4];
00070       break;
00071       case 6:
00072         istrstream(p)>>innerAl[0]>>innerAl[1]>>innerAl[2]>>innerAl[3]>>innerAl[4];
00073       break;
00074       case 7:
00075         istrstream(p)>>AlRing[0]>>AlRing[1]>>AlRing[2]>>AlRing[3]>>AlRing[4];
00076       break; 
00077       case 8:
00078         istrstream(p)>>outerAl[0]>>outerAl[1]>>outerAl[2]>>outerAl[3]>>outerAl[4];
00079       break;
00080       case 9:
00081         istrstream(p)>>AgLayer[0]>>AgLayer[1]>>AgLayer[2]>>AgLayer[3]>>AgLayer[4];
00082       break;
00083       case 10:
00084         istrstream(p)>>CuLayer[0]>>CuLayer[1]>>CuLayer[2]>>CuLayer[3]>>CuLayer[4];
00085       break;
00086       case 11:
00087         istrstream(p)>>AlCover[0]>>AlCover[1]>>AlCover[2]>>AlCover[3]>>AlCover[4];
00088     }
00089   }
00090 }

Generated on Tue Nov 29 23:14:23 2016 for BOSS_7.0.2 by  doxygen 1.4.7