#include <ExtBesEmcParameter.h>
|
00022 {}
|
|
00026 {}
|
|
|
|
|
|
|
|
00040 { 00041 return fpInstance!=0; 00042 }
|
|
00045 { return m_bitNb; }
|
|
00045 { return m_bitNb; }
|
|
00105 { return AlPlateDz; }
|
|
00105 { return AlPlateDz; }
|
|
00061 { return fAlThickness; }
|
|
00061 { return fAlThickness; }
|
|
00037 { return array_size; }
|
|
00037 { return array_size; }
|
|
00072 { return BSCAngleRotat; }
|
|
00072 { return BSCAngleRotat; }
|
|
00065 { return BSCDz; }
|
|
00065 { return BSCDz; }
|
|
00070 { return BSCDz1; }
|
|
00070 { return BSCDz1; }
|
|
00073 { return BSCNbPhi; }
|
|
00073 { return BSCNbPhi; }
|
|
00074 { return BSCNbTheta; }
|
|
00074 { return BSCNbTheta; }
|
|
00079 { return BSCPosition0; }
|
|
00079 { return BSCPosition0; }
|
|
00080 { return BSCPosition1; }
|
|
00080 { return BSCPosition1; }
|
|
00067 { return BSCRmax1; }
|
|
00067 { return BSCRmax1; }
|
|
00069 { return BSCRmax2; }
|
|
00069 { return BSCRmax2; }
|
|
00064 { return BSCRmin; }
|
|
00064 { return BSCRmin; }
|
|
00066 { return BSCRmin1; }
|
|
00066 { return BSCRmin1; }
|
|
00068 { return BSCRmin2; }
|
|
00068 { return BSCRmin2; }
|
|
00077 { return BSCYFront; }
|
|
00077 { return BSCYFront; }
|
|
00076 { return BSCYFront0; }
|
|
00076 { return BSCYFront0; }
|
|
00078 { return BSCYFront1; }
|
|
00078 { return BSCYFront1; }
|
|
00109 { return cableDr; }
|
|
00109 { return cableDr; }
|
|
00057 { return cryNumInOneLayer[nb]; }
|
|
00057 { return cryNumInOneLayer[nb]; }
|
|
00055 { return CrystalLength; }
|
|
00055 { return CrystalLength; }
|
|
00118 { return EndRingDr; }
|
|
00118 { return EndRingDr; }
|
|
00117 { return EndRingDz; }
|
|
00117 { return EndRingDz; }
|
|
00119 { return EndRingRmin; }
|
|
00119 { return EndRingRmin; }
|
|
00092 { return HangingPlateDz; }
|
|
00092 { return HangingPlateDz; }
|
|
00039 { return m_highRange; }
|
|
00039 { return m_highRange; }
|
|
|
|
00031 { 00032 if(!Exist()) { 00033 fpInstance=new ExtBesEmcParameter; 00034 fpInstance->ReadData(); 00035 } 00036 return *fpInstance; 00037 }
|
|
00041 { return m_lowRange; }
|
|
00041 { return m_lowRange; }
|
|
00040 { return m_midRange; }
|
|
00040 { return m_midRange; }
|
|
00062 { return fMylarThickness; }
|
|
00062 { return fMylarThickness; }
|
|
00047 { return m_nonuniformity; }
|
|
00047 { return m_nonuniformity; }
|
|
00093 { return OCGirderAngle; }
|
|
00093 { return OCGirderAngle; }
|
|
00097 { return orgGlassLengthX; }
|
|
00097 { return orgGlassLengthX; }
|
|
00098 { return orgGlassLengthY; }
|
|
00098 { return orgGlassLengthY; }
|
|
00099 { return orgGlassLengthZ; }
|
|
00099 { return orgGlassLengthZ; }
|
|
00106 { return PABoxDz; }
|
|
00106 { return PABoxDz; }
|
|
00107 { return PABoxThickness; }
|
|
00107 { return PABoxThickness; }
|
|
00101 { return PDLengthX; }
|
|
00101 { return PDLengthX; }
|
|
00102 { return PDLengthY; }
|
|
00102 { return PDLengthY; }
|
|
00103 { return PDLengthZ; }
|
|
00103 { return PDLengthZ; }
|
|
00043 { return m_peakTime; }
|
|
00043 { return m_peakTime; }
|
|
00058 { return pentaInOneSector[nb]; }
|
|
00058 { return pentaInOneSector[nb]; }
|
|
00046 { return m_photonsPerMeV; }
|
|
00046 { return m_photonsPerMeV; }
|
|
00091 { return rearBoxDz; }
|
|
00091 { return rearBoxDz; }
|
|
00090 { return rearBoxLength; }
|
|
00090 { return rearBoxLength; }
|
|
00095 { return rearCasingThickness; }
|
|
00095 { return rearCasingThickness; }
|
|
00042 { return m_sampleTime; }
|
|
00042 { return m_sampleTime; }
|
|
00113 { return SPBarThickness; }
|
|
00113 { return SPBarThickness; }
|
|
00114 { return SPBarThickness1; }
|
|
00114 { return SPBarThickness1; }
|
|
00115 { return SPBarwidth; }
|
|
00115 { return SPBarwidth; }
|
|
00082 { return TaperRingDz; }
|
|
00082 { return TaperRingDz; }
|
|
00087 { return TaperRingInnerLength; }
|
|
00087 { return TaperRingInnerLength; }
|
|
00088 { return TaperRingOuterLength; }
|
|
00088 { return TaperRingOuterLength; }
|
|
00086 { return TaperRingTheta; }
|
|
00086 { return TaperRingTheta; }
|
|
00083 { return TaperRingThickness1; }
|
|
00083 { return TaperRingThickness1; }
|
|
00084 { return TaperRingThickness2; }
|
|
00084 { return TaperRingThickness2; }
|
|
00085 { return TaperRingThickness3; }
|
|
00085 { return TaperRingThickness3; }
|
|
00038 { return m_tau; }
|
|
00038 { return m_tau; }
|
|
00044 { return m_timeOffset; }
|
|
00044 { return m_timeOffset; }
|
|
00060 { return fTyvekThickness; }
|
|
00060 { return fTyvekThickness; }
|
|
00110 { return waterPipeDr; }
|
|
00110 { return waterPipeDr; }
|
|
00111 { return waterPipeThickness; }
|
|
00111 { return waterPipeThickness; }
|
|
00053 { return WorldDz; }
|
|
00053 { return WorldDz; }
|
|
00050 { return WorldRmax1; }
|
|
00050 { return WorldRmax1; }
|
|
00052 { return WorldRmax2; }
|
|
00052 { return WorldRmax2; }
|
|
00049 { return WorldRmin1; }
|
|
00049 { return WorldRmin1; }
|
|
00051 { return WorldRmin2; }
|
|
00051 { return WorldRmin2; }
|
|
00054 { return WorldZPosition; }
|
|
00054 { return WorldZPosition; }
|
|
|
|
00045 { 00046 if(Exist()) { 00047 delete fpInstance; 00048 fpInstance=0; 00049 } 00050 }
|
|
|
|
00053 { 00054 //G4String ParaPath = ReadBoostRoot::GetBoostRoot(); 00055 G4String ParaPath = getenv("SIMUTILROOT"); 00056 00057 if(!ParaPath){ 00058 G4Exception("BOOST environment not set!"); 00059 } 00060 ParaPath += "/dat/BesEmc.txt"; 00061 G4cout<<"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"<<G4endl; 00062 G4cout<<ParaPath<<G4endl; 00063 ifstream fin; 00064 fin.open(ParaPath); 00065 assert(fin); 00066 00067 const int maxCharOfOneLine=255; 00068 char temp[maxCharOfOneLine],*p; 00069 int lineNo=0,inputNo=0; 00070 00071 while(fin.peek()!=EOF) 00072 { 00073 fin.getline(temp,maxCharOfOneLine); 00074 p=temp; 00075 lineNo++; 00076 while(*p!='\0') 00077 { 00078 if(*p=='#') 00079 { 00080 *p='\0'; //delete the comments. 00081 break; 00082 } 00083 p++; 00084 } 00085 p=temp; //reset the pointer to the beginning of the string. 00086 while(*p==' '||*p=='\t')p++; 00087 if(*p=='\0')continue; 00088 inputNo++; 00089 switch(inputNo) 00090 { 00091 case 1: 00092 istrstream(p)>>array_size>>m_tau>>m_highRange>>m_midRange>>m_lowRange>>m_sampleTime>>m_bitNb>>m_photonsPerMeV>>m_nonuniformity>>m_peakTime>>m_timeOffset; 00093 break; 00094 case 2: 00095 istrstream(p)>>WorldRmin1>>WorldRmax1>>WorldRmin2>>WorldRmax2>>WorldDz>>WorldZPosition>>CrystalLength; 00096 break; 00097 case 3: 00098 istrstream(p)>>cryNumInOneLayer[0]>>cryNumInOneLayer[1]>>cryNumInOneLayer[2]>>cryNumInOneLayer[3]>>cryNumInOneLayer[4]>>cryNumInOneLayer[5]; 00099 break; 00100 case 4: 00101 istrstream(p)>>pentaInOneSector[0]>>pentaInOneSector[1]>>pentaInOneSector[2]>>pentaInOneSector[3]>>pentaInOneSector[4]; 00102 break; 00103 case 5: 00104 istrstream(p)>>fTyvekThickness>>fAlThickness>>fMylarThickness; 00105 break; 00106 case 6: 00107 istrstream(p)>>BSCRmin>>BSCDz>>BSCRmin1>>BSCRmax1>>BSCRmin2>>BSCRmax2>>BSCDz1; 00108 break; 00109 case 7: 00110 istrstream(p)>>BSCAngleRotat>>BSCNbPhi>>BSCNbTheta; 00111 break; 00112 case 8: 00113 istrstream(p)>>BSCYFront0>>BSCYFront>>BSCYFront1>>BSCPosition0>>BSCPosition1; 00114 break; 00115 case 9: 00116 istrstream(p)>>TaperRingDz>>TaperRingThickness1>>TaperRingThickness2>>TaperRingThickness3 00117 >>TaperRingTheta>>TaperRingInnerLength>>TaperRingOuterLength; 00118 case 10: 00119 istrstream(p)>>rearBoxLength>>rearBoxDz>>HangingPlateDz>>OCGirderAngle>>rearCasingThickness; 00120 case 11: 00121 istrstream(p)>>orgGlassLengthX>>orgGlassLengthY>>orgGlassLengthZ 00122 >>PDLengthX>>PDLengthY>>PDLengthZ>>AlPlateDz>>PABoxDz>>PABoxThickness; 00123 case 12: 00124 istrstream(p)>>cableDr>>waterPipeDr>>waterPipeThickness 00125 >>SPBarThickness>>SPBarThickness1>>SPBarwidth>>EndRingDz>>EndRingDr>>EndRingRmin; 00126 default: 00127 ; 00128 } 00129 } 00130 }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|