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

Go to the documentation of this file.
00001 //BOOST --- BESIII Object_Oriented Simulation Tool               //
00002 //Description:
00003 //Author: Caogf
00004 //Created: June, 2007
00005 //Modified:
00006 //Comment:
00007 //---------------------------------------------------------------------//
00008 //$ID: BesSCMParameter.cc
00009 
00010 #include "BesSCMParameter.hh"
00011 #include <fstream>
00012 #include <strstream>
00013 #include "ReadBoostRoot.hh"
00014 using namespace std;
00015 
00016 BesSCMParameter::BesSCMParameter()
00017 {
00018 }
00019 BesSCMParameter::~BesSCMParameter()
00020 {
00021 }
00022 void BesSCMParameter::ReadData()
00023 {
00024   G4String GeometryPath = getenv("BESSIMROOT");
00025   if(!GeometryPath){
00026     G4Exception("BOOST environment not set!");
00027   }
00028   GeometryPath += "/dat/BesSCM.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)>>innerCryo[0]>>innerCryo[1]>>innerCryo[2];
00058       break;
00059       case 2:
00060         istrstream(p)>>l1Adia[0]>>l1Adia[1]>>l1Adia[2];
00061       break;
00062       case 3:
00063         istrstream(p)>>innerShield[0]>>innerShield[1]>>innerShield[2];
00064       break;
00065       case 4:
00066         istrstream(p)>>l2Adia[0]>>l2Adia[1]>>l2Adia[2];
00067       break;
00068       case 5:
00069         istrstream(p)>>outerShield[0]>>outerShield[1]>>outerShield[2];
00070       break;
00071       case 6:
00072         istrstream(p)>>l3Adia[0]>>l3Adia[1]>>l3Adia[2];
00073       break;    
00074       case 7:
00075         istrstream(p)>>endShield[0]>>endShield[1]>>endShield[2]>>endShield[3]>>endShield[4];
00076       break;    
00077       case 8:
00078         istrstream(p)>>l1insu[0]>>l1insu[1]>>l1insu[2];
00079         break;
00080       case 9:
00081         istrstream(p)>>coil[0]>>coil[1]>>coil[2];
00082         break;
00083       case 10:
00084         istrstream(p)>>l2insu[0]>>l2insu[1]>>l2insu[2];
00085         break;
00086       case 11:
00087         istrstream(p)>>supp[0]>>supp[1]>>supp[2];
00088         break;
00089       case 12:
00090         istrstream(p)>>l4Adia[0]>>l4Adia[1]>>l4Adia[2];
00091         break;
00092       case 13:
00093         istrstream(p)>>endCoil[0]>>endCoil[1]>>endCoil[2]>>endCoil[3]>>endCoil[4];
00094         break;
00095       case 14:
00096         istrstream(p)>>outerCryo[0]>>outerCryo[1]>>outerCryo[2];
00097         break;
00098       case 15:
00099         istrstream(p)>>endCryo[0]>>endCryo[1]>>endCryo[2]>>endCryo[3]>>endCryo[4];
00100         break;
00101       case 16:
00102         istrstream(p)>>rein[0]>>rein[1]>>rein[2]>>rein[3]>>rein[4];
00103         break;
00104       case 17:
00105         istrstream(p)>>pipe1[0]>>pipe1[1]>>pipe1[2]>>pipe1[3]>>pipe1[4]>>pipe1[5];
00106         break;
00107       case 18:
00108         istrstream(p)>>pipe2[0]>>pipe2[1]>>pipe2[2]>>pipe2[3]>>pipe2[4]>>pipe2[5];
00109         break;
00110       case 19:
00111         istrstream(p)>>pipe3[0]>>pipe3[1]>>pipe3[2]>>pipe3[3]>>pipe3[4]>>pipe3[5];
00112         break;
00113       case 20:
00114         istrstream(p)>>hole[0]>>hole[1]>>hole[2]>>hole[3]>>hole[4]>>hole[5]>>hole[6]>>hole[7]>>hole[8]>>hole[9]>>hole[10]>>hole[11]>>hole[12];
00115     }
00116   }
00117 }
00118 

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