#include <BesEmcParameter.hh>
|
00023 { 00024 }
|
|
00028 { 00029 }
|
|
|
|
|
|
|
|
00043 { 00044 return fpInstance!=0; 00045 }
|
|
00045 { return m_bitNb; }
|
|
00045 { return m_bitNb; }
|
|
00106 { return AlPlateDz; }
|
|
00106 { return AlPlateDz; }
|
|
00062 { return fAlThickness; }
|
|
00062 { return fAlThickness; }
|
|
00037 { return array_size; }
|
|
00037 { return array_size; }
|
|
00073 { return BSCAngleRotat; }
|
|
00073 { return BSCAngleRotat; }
|
|
00066 { return BSCDz; }
|
|
00066 { return BSCDz; }
|
|
00071 { return BSCDz1; }
|
|
00071 { return BSCDz1; }
|
|
00074 { return BSCNbPhi; }
|
|
00074 { return BSCNbPhi; }
|
|
00075 { return BSCNbTheta; }
|
|
00075 { return BSCNbTheta; }
|
|
00080 { return BSCPosition0; }
|
|
00080 { return BSCPosition0; }
|
|
00081 { return BSCPosition1; }
|
|
00081 { return BSCPosition1; }
|
|
00068 { return BSCRmax1; }
|
|
00068 { return BSCRmax1; }
|
|
00070 { return BSCRmax2; }
|
|
00070 { return BSCRmax2; }
|
|
00065 { return BSCRmin; }
|
|
00065 { return BSCRmin; }
|
|
00067 { return BSCRmin1; }
|
|
00067 { return BSCRmin1; }
|
|
00069 { return BSCRmin2; }
|
|
00069 { return BSCRmin2; }
|
|
00078 { return BSCYFront; }
|
|
00078 { return BSCYFront; }
|
|
00077 { return BSCYFront0; }
|
|
00077 { return BSCYFront0; }
|
|
00079 { return BSCYFront1; }
|
|
00079 { return BSCYFront1; }
|
|
00110 { return cableDr; }
|
|
00110 { return cableDr; }
|
|
00058 { return cryNumInOneLayer[nb]; }
|
|
00058 { return cryNumInOneLayer[nb]; }
|
|
00055 { return CrystalLength; }
|
|
00055 { return CrystalLength; }
|
|
00056 { return CrystalLength1; }
|
|
00056 { return CrystalLength1; }
|
|
00119 { return EndRingDr; }
|
|
00119 { return EndRingDr; }
|
|
00118 { return EndRingDz; }
|
|
00118 { return EndRingDz; }
|
|
00120 { return EndRingRmin; }
|
|
00120 { return EndRingRmin; }
|
|
00093 { return HangingPlateDz; }
|
|
00093 { return HangingPlateDz; }
|
|
00039 { return m_highRange; }
|
|
00039 { return m_highRange; }
|
|
|
|
00034 { 00035 if(!Exist()) { 00036 fpInstance=new BesEmcParameter; 00037 fpInstance->ReadData(); 00038 } 00039 return *fpInstance; 00040 }
|
|
|
|
00122 { return lightOutput[i]; }
|
|
00145 { 00146 EmcStructure struc; 00147 struc.setEmcStruc(); 00148 G4int index = struc.getGeomIndex(partId,theta,phi); 00149 if(index>=0&&index<6240) { 00150 return lightOutput[index]; 00151 } else { 00152 return 1.; 00153 } 00154 }
|
|
00122 { return lightOutput[i]; }
|
|
00041 { return m_lowRange; }
|
|
00041 { return m_lowRange; }
|
|
00040 { return m_midRange; }
|
|
00040 { return m_midRange; }
|
|
00063 { return fMylarThickness; }
|
|
00063 { return fMylarThickness; }
|
|
00047 { return m_nonuniformity; }
|
|
00047 { return m_nonuniformity; }
|
|
00094 { return OCGirderAngle; }
|
|
00094 { return OCGirderAngle; }
|
|
00098 { return orgGlassLengthX; }
|
|
00098 { return orgGlassLengthX; }
|
|
00099 { return orgGlassLengthY; }
|
|
00099 { return orgGlassLengthY; }
|
|
00100 { return orgGlassLengthZ; }
|
|
00100 { return orgGlassLengthZ; }
|
|
00107 { return PABoxDz; }
|
|
00107 { return PABoxDz; }
|
|
00108 { return PABoxThickness; }
|
|
00108 { return PABoxThickness; }
|
|
00102 { return PDLengthX; }
|
|
00102 { return PDLengthX; }
|
|
00103 { return PDLengthY; }
|
|
00103 { return PDLengthY; }
|
|
00104 { return PDLengthZ; }
|
|
00104 { return PDLengthZ; }
|
|
00043 { return m_peakTime; }
|
|
00043 { return m_peakTime; }
|
|
00059 { return pentaInOneSector[nb]; }
|
|
00059 { return pentaInOneSector[nb]; }
|
|
00046 { return m_photonsPerMeV; }
|
|
00046 { return m_photonsPerMeV; }
|
|
00092 { return rearBoxDz; }
|
|
00092 { return rearBoxDz; }
|
|
00091 { return rearBoxLength; }
|
|
00091 { return rearBoxLength; }
|
|
00096 { return rearCasingThickness; }
|
|
00096 { return rearCasingThickness; }
|
|
00042 { return m_sampleTime; }
|
|
00042 { return m_sampleTime; }
|
|
00114 { return SPBarThickness; }
|
|
00114 { return SPBarThickness; }
|
|
00115 { return SPBarThickness1; }
|
|
00115 { return SPBarThickness1; }
|
|
00116 { return SPBarwidth; }
|
|
00116 { return SPBarwidth; }
|
|
00083 { return TaperRingDz; }
|
|
00083 { return TaperRingDz; }
|
|
00088 { return TaperRingInnerLength; }
|
|
00088 { return TaperRingInnerLength; }
|
|
00089 { return TaperRingOuterLength; }
|
|
00089 { return TaperRingOuterLength; }
|
|
00087 { return TaperRingTheta; }
|
|
00087 { return TaperRingTheta; }
|
|
00084 { return TaperRingThickness1; }
|
|
00084 { return TaperRingThickness1; }
|
|
00085 { return TaperRingThickness2; }
|
|
00085 { return TaperRingThickness2; }
|
|
00086 { return TaperRingThickness3; }
|
|
00086 { return TaperRingThickness3; }
|
|
00038 { return m_tau; }
|
|
00038 { return m_tau; }
|
|
00044 { return m_timeOffset; }
|
|
00044 { return m_timeOffset; }
|
|
00061 { return fTyvekThickness; }
|
|
00061 { return fTyvekThickness; }
|
|
00111 { return waterPipeDr; }
|
|
00111 { return waterPipeDr; }
|
|
00112 { return waterPipeThickness; }
|
|
00112 { 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; }
|
|
|
|
00048 { 00049 if(Exist()) { 00050 delete fpInstance; 00051 fpInstance=0; 00052 } 00053 }
|
|
|
|
00056 { 00057 G4String ParaPath = getenv("EMCSIMROOT"); 00058 if(!ParaPath){ 00059 G4Exception("BOOST environment not set!"); 00060 } 00061 00062 G4String ParaPath1 = ParaPath; 00063 00064 ParaPath += "/dat/BesEmc.txt"; 00065 ifstream fin; 00066 fin.open(ParaPath); 00067 assert(fin); 00068 00069 const int maxCharOfOneLine=255; 00070 char temp[maxCharOfOneLine],*p; 00071 int lineNo=0,inputNo=0; 00072 00073 while(fin.peek()!=EOF) 00074 { 00075 fin.getline(temp,maxCharOfOneLine); 00076 p=temp; 00077 lineNo++; 00078 while(*p!='\0') 00079 { 00080 if(*p=='#') 00081 { 00082 *p='\0'; //delete the comments. 00083 break; 00084 } 00085 p++; 00086 } 00087 p=temp; //reset the pointer to the beginning of the string. 00088 while(*p==' '||*p=='\t')p++; 00089 if(*p=='\0')continue; 00090 inputNo++; 00091 switch(inputNo) 00092 { 00093 case 1: 00094 istrstream(p)>>array_size>>m_tau>>m_highRange>>m_midRange>>m_lowRange>>m_sampleTime>>m_bitNb>>m_photonsPerMeV>>m_nonuniformity>>m_peakTime>>m_timeOffset; 00095 break; 00096 case 2: 00097 istrstream(p)>>WorldRmin1>>WorldRmax1>>WorldRmin2>>WorldRmax2>>WorldDz>>WorldZPosition>>CrystalLength>>CrystalLength1; 00098 break; 00099 case 3: 00100 istrstream(p)>>cryNumInOneLayer[0]>>cryNumInOneLayer[1]>>cryNumInOneLayer[2]>>cryNumInOneLayer[3]>>cryNumInOneLayer[4]>>cryNumInOneLayer[5]; 00101 break; 00102 case 4: 00103 istrstream(p)>>pentaInOneSector[0]>>pentaInOneSector[1]>>pentaInOneSector[2]>>pentaInOneSector[3]>>pentaInOneSector[4]; 00104 break; 00105 case 5: 00106 istrstream(p)>>fTyvekThickness>>fAlThickness>>fMylarThickness; 00107 break; 00108 case 6: 00109 istrstream(p)>>BSCRmin>>BSCDz>>BSCRmin1>>BSCRmax1>>BSCRmin2>>BSCRmax2>>BSCDz1; 00110 break; 00111 case 7: 00112 istrstream(p)>>BSCAngleRotat>>BSCNbPhi>>BSCNbTheta; 00113 break; 00114 case 8: 00115 istrstream(p)>>BSCYFront0>>BSCYFront>>BSCYFront1>>BSCPosition0>>BSCPosition1; 00116 break; 00117 case 9: 00118 istrstream(p)>>TaperRingDz>>TaperRingThickness1>>TaperRingThickness2>>TaperRingThickness3 00119 >>TaperRingTheta>>TaperRingInnerLength>>TaperRingOuterLength; 00120 case 10: 00121 istrstream(p)>>rearBoxLength>>rearBoxDz>>HangingPlateDz>>OCGirderAngle>>rearCasingThickness; 00122 case 11: 00123 istrstream(p)>>orgGlassLengthX>>orgGlassLengthY>>orgGlassLengthZ 00124 >>PDLengthX>>PDLengthY>>PDLengthZ>>AlPlateDz>>PABoxDz>>PABoxThickness; 00125 case 12: 00126 istrstream(p)>>cableDr>>waterPipeDr>>waterPipeThickness 00127 >>SPBarThickness>>SPBarThickness1>>SPBarwidth>>EndRingDz>>EndRingDr>>EndRingRmin; 00128 default: 00129 ; 00130 } 00131 } 00132 fin.close(); 00133 00134 ifstream fin1; 00135 ParaPath1 += "/dat/EmcLightOutput.dat"; 00136 fin1.open(ParaPath1); 00137 assert(fin1); 00138 for(G4int i=0;i<6240;i++) { 00139 fin1>>lightOutput[i]; 00140 } 00141 fin1.close(); 00142 }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|