MyMdcGeomSvc Class Reference

#include <MyMdcGeomSvc.hh>

List of all members.

Public Member Functions

 MyMdcGeomSvc ()
 ~MyMdcGeomSvc ()
void ReadFilePar ()
int TotalElecLayerNo ()
int Layerr (int n)
int ElecNo (int n)
double X (int n)
double Y (int n)
double Z (int n)
double R (int n)
double BoxInStep (int n)
double BoxEndcape (int n)
double FixRing (int n)
double InnerRCableFrame (int n)
double OuterRCableFrame (int n)
double LengthCableFrame (int n)
double ZCableFrame (int n)
double ThinPlate (int n)
double XCenThinPlate (int n)
double YCenThinPlate (int n)
double ZCenThinPlate (int n)
double RotateXAngle (int n)
double LengthCableTub (int n)

Private Attributes

int fTotalElecLayerNo
int fLayerr [23]
int fElecNo [23]
double fX [23]
double fY [23]
double fZ [23]
double fR [23]
double fBoxInStep [3]
double fBoxEndcape [3]
double fFixRing [3]
double fInnerRCableFrame [11]
double fOuterRCableFrame [11]
double fLengthCableFrame [11]
double fZCableFrame [11]
double fLengthCableTub [12]
double fThinPlate [3]
double fXCenThinPlate [12]
double fYCenThinPlate [12]
double fZCenThinPlate [12]
double fRotateXAngle [12]


Detailed Description

Definition at line 9 of file MyMdcGeomSvc.hh.


Constructor & Destructor Documentation

MyMdcGeomSvc::MyMdcGeomSvc (  ) 

Definition at line 10 of file MyMdcGeomSvc.cc.

References ReadFilePar().

00010 {ReadFilePar();}

MyMdcGeomSvc::~MyMdcGeomSvc (  ) 

Definition at line 11 of file MyMdcGeomSvc.cc.

00011 {}


Member Function Documentation

double MyMdcGeomSvc::BoxEndcape ( int  n  ) 

Definition at line 119 of file MyMdcGeomSvc.cc.

References fBoxEndcape.

Referenced by BesMdcConstruction::Construct().

00120 {
00121         return fBoxEndcape[n];
00122 }

double MyMdcGeomSvc::BoxInStep ( int  n  ) 

Definition at line 115 of file MyMdcGeomSvc.cc.

References fBoxInStep.

00116 {
00117         return fBoxInStep[n];
00118 }

int MyMdcGeomSvc::ElecNo ( int  n  ) 

Definition at line 95 of file MyMdcGeomSvc.cc.

References fElecNo.

Referenced by BesMdcConstruction::Construct().

00096 {
00097         return fElecNo[n];
00098 }

double MyMdcGeomSvc::FixRing ( int  n  ) 

Definition at line 167 of file MyMdcGeomSvc.cc.

References fFixRing.

Referenced by BesMdcConstruction::Construct().

00168 {
00169         return  fFixRing[n];
00170 }

double MyMdcGeomSvc::InnerRCableFrame ( int  n  ) 

Definition at line 127 of file MyMdcGeomSvc.cc.

References fInnerRCableFrame.

00128 {
00129         return fInnerRCableFrame[n];
00130 }

int MyMdcGeomSvc::Layerr ( int  n  ) 

Definition at line 91 of file MyMdcGeomSvc.cc.

References fLayerr.

00092 {
00093         return fLayerr[n];
00094 }

double MyMdcGeomSvc::LengthCableFrame ( int  n  ) 

Definition at line 135 of file MyMdcGeomSvc.cc.

References fLengthCableFrame.

00136 {
00137         return  fLengthCableFrame[n];
00138 
00139 }

double MyMdcGeomSvc::LengthCableTub ( int  n  ) 

Definition at line 123 of file MyMdcGeomSvc.cc.

References fLengthCableTub.

Referenced by BesMdcConstruction::Construct().

00124 {   
00125         return   fLengthCableTub[n];
00126 }

double MyMdcGeomSvc::OuterRCableFrame ( int  n  ) 

Definition at line 131 of file MyMdcGeomSvc.cc.

References fOuterRCableFrame.

00132 {
00133         return  fOuterRCableFrame[n];
00134 }

double MyMdcGeomSvc::R ( int  n  ) 

Definition at line 111 of file MyMdcGeomSvc.cc.

References fR.

Referenced by BesMdcConstruction::Construct().

00112 {
00113         return fR[n];
00114 }

void MyMdcGeomSvc::ReadFilePar (  ) 

Definition at line 12 of file MyMdcGeomSvc.cc.

References fBoxEndcape, fBoxInStep, fElecNo, fFixRing, fInnerRCableFrame, fLayerr, fLengthCableFrame, fLengthCableTub, fOuterRCableFrame, fR, fRotateXAngle, fThinPlate, fTotalElecLayerNo, fX, fXCenThinPlate, fY, fYCenThinPlate, fZ, fZCableFrame, fZCenThinPlate, genRecEmupikp::i, deljobs::string, and subSeperate::temp.

Referenced by MyMdcGeomSvc().

00013 {
00014         std::string geometryFilePath1 = getenv("MDCSIMROOT");
00015         geometryFilePath1 +="/dat/MdcElectronics.txt";
00016 
00017         std::ifstream in;
00018         in.open(geometryFilePath1.c_str());
00019         assert(in);
00020         const int maxCharOneLine=255;
00021         char  temp[maxCharOneLine];
00022         int i=0;
00023         while(in.peek()!=EOF)
00024         {
00025                 in.getline(temp,maxCharOneLine);
00026                 i++;
00027                 if (temp[0]=='#')
00028                         continue;
00029                 // i is the row number of MdcElectronics.dat
00030                 if(i==2) {istringstream(temp)>>fTotalElecLayerNo;
00031                         continue;
00032                 }
00033                 if(i>=4&&i<=26)
00034                 {
00035                         istringstream(temp)>>fLayerr[i-4]>>fElecNo[i-4];
00036                         continue;
00037                 }
00038                 if(i>28&&i<=51)
00039                 {
00040                         istringstream(temp)>>fX[i-29]>>fY[i-29]>>fZ[i-29]>>fR[i-29];
00041                         continue;
00042                 }
00043                 if(i==55)
00044                 {
00045                         istringstream(temp)>>fBoxInStep[0]>>fBoxInStep[1]>>fBoxInStep[2];
00046                         continue;
00047                 }
00048                 if(i==59)
00049                 { 
00050                         istringstream(temp)>>fBoxEndcape[0]>>fBoxEndcape[1]>>fBoxEndcape[2];
00051                         continue;
00052                 }
00053                 if(i==63){istringstream(temp)>>fFixRing[0]>>fFixRing[1]>>fFixRing[2];}
00054                 if(i>=76&&i<87)
00055                 {
00056                         istringstream(temp)>>fInnerRCableFrame[i-76]>>fOuterRCableFrame[i-76]>>fLengthCableFrame[i-76]>>fZCableFrame[i-76];
00057                         continue;
00058                 }
00059                 if(i==90)
00060                 {
00061                         istringstream(temp)>>fThinPlate[0]>>fThinPlate[1]>>fThinPlate[2];
00062                         continue;  
00063                 }
00064 
00065                 if(i>=93&&i<105)
00066                 {
00067                         istringstream(temp)>>fXCenThinPlate[i-93]>>fYCenThinPlate[i-93]>> fZCenThinPlate[i-93]>>fRotateXAngle[i-93];
00068                         continue;
00069                 }
00070 
00071 
00072                 if(i==107)
00073                 {
00074                         istringstream(temp)>>fLengthCableTub[0]>>fLengthCableTub[1]>>fLengthCableTub[2]>>fLengthCableTub[3]>>fLengthCableTub[4]>>fLengthCableTub[5]>>fLengthCableTub[6]>>fLengthCableTub[7]>>fLengthCableTub[8]>>fLengthCableTub[9]>>fLengthCableTub[10]>>fLengthCableTub[11]>>fLengthCableTub[12]; 
00075                         continue;
00076                 }
00077                 if (i==109)
00078                 {
00079                         istringstream(temp)>>fLengthCableTub[13]>>fLengthCableTub[14]>>fLengthCableTub[15]>>fLengthCableTub[16]>>fLengthCableTub[17]>>fLengthCableTub[18]>>fLengthCableTub[19]>>fLengthCableTub[20]>>fLengthCableTub[21]>>fLengthCableTub[22]>>fLengthCableTub[23]>>fLengthCableTub[24];
00080                         continue;
00081                 }
00082 
00083         }
00084 }

double MyMdcGeomSvc::RotateXAngle ( int  n  ) 

Definition at line 162 of file MyMdcGeomSvc.cc.

References fRotateXAngle.

00163 {
00164         return  fRotateXAngle[n];
00165 }

double MyMdcGeomSvc::ThinPlate ( int  n  ) 

Definition at line 146 of file MyMdcGeomSvc.cc.

References fThinPlate.

00147 {
00148         return   fThinPlate[n];
00149 }

int MyMdcGeomSvc::TotalElecLayerNo (  ) 

Definition at line 87 of file MyMdcGeomSvc.cc.

References fTotalElecLayerNo.

Referenced by BesMdcConstruction::Construct().

00088 {
00089         return fTotalElecLayerNo;
00090 }

double MyMdcGeomSvc::X ( int  n  ) 

Definition at line 99 of file MyMdcGeomSvc.cc.

References fX.

Referenced by BesMdcConstruction::Construct().

00100 {
00101         return fX[n];
00102 }

double MyMdcGeomSvc::XCenThinPlate ( int  n  ) 

Definition at line 150 of file MyMdcGeomSvc.cc.

References fXCenThinPlate.

00151 {
00152         return   fXCenThinPlate[n];
00153 }

double MyMdcGeomSvc::Y ( int  n  ) 

Definition at line 103 of file MyMdcGeomSvc.cc.

References fY.

00104 {
00105         return fY[n];
00106 }

double MyMdcGeomSvc::YCenThinPlate ( int  n  ) 

Definition at line 154 of file MyMdcGeomSvc.cc.

References fYCenThinPlate.

00155 {
00156         return   fYCenThinPlate[n];
00157 }

double MyMdcGeomSvc::Z ( int  n  ) 

Definition at line 107 of file MyMdcGeomSvc.cc.

References fZ.

Referenced by BesMdcConstruction::Construct().

00108 {
00109         return fZ[n];
00110 }

double MyMdcGeomSvc::ZCableFrame ( int  n  ) 

Definition at line 140 of file MyMdcGeomSvc.cc.

References fZCableFrame.

00141 {
00142         return  fZCableFrame[n];
00143 
00144 }

double MyMdcGeomSvc::ZCenThinPlate ( int  n  ) 

Definition at line 158 of file MyMdcGeomSvc.cc.

References fZCenThinPlate.

00159 {
00160         return   fZCenThinPlate[n];
00161 }


Member Data Documentation

double MyMdcGeomSvc::fBoxEndcape[3] [private]

Definition at line 47 of file MyMdcGeomSvc.hh.

Referenced by BoxEndcape(), and ReadFilePar().

double MyMdcGeomSvc::fBoxInStep[3] [private]

Definition at line 46 of file MyMdcGeomSvc.hh.

Referenced by BoxInStep(), and ReadFilePar().

int MyMdcGeomSvc::fElecNo[23] [private]

Definition at line 41 of file MyMdcGeomSvc.hh.

Referenced by ElecNo(), and ReadFilePar().

double MyMdcGeomSvc::fFixRing[3] [private]

Definition at line 48 of file MyMdcGeomSvc.hh.

Referenced by FixRing(), and ReadFilePar().

double MyMdcGeomSvc::fInnerRCableFrame[11] [private]

Definition at line 49 of file MyMdcGeomSvc.hh.

Referenced by InnerRCableFrame(), and ReadFilePar().

int MyMdcGeomSvc::fLayerr[23] [private]

Definition at line 40 of file MyMdcGeomSvc.hh.

Referenced by Layerr(), and ReadFilePar().

double MyMdcGeomSvc::fLengthCableFrame[11] [private]

Definition at line 51 of file MyMdcGeomSvc.hh.

Referenced by LengthCableFrame(), and ReadFilePar().

double MyMdcGeomSvc::fLengthCableTub[12] [private]

Definition at line 53 of file MyMdcGeomSvc.hh.

Referenced by LengthCableTub(), and ReadFilePar().

double MyMdcGeomSvc::fOuterRCableFrame[11] [private]

Definition at line 50 of file MyMdcGeomSvc.hh.

Referenced by OuterRCableFrame(), and ReadFilePar().

double MyMdcGeomSvc::fR[23] [private]

Definition at line 45 of file MyMdcGeomSvc.hh.

Referenced by R(), and ReadFilePar().

double MyMdcGeomSvc::fRotateXAngle[12] [private]

Definition at line 59 of file MyMdcGeomSvc.hh.

Referenced by ReadFilePar(), and RotateXAngle().

double MyMdcGeomSvc::fThinPlate[3] [private]

Definition at line 55 of file MyMdcGeomSvc.hh.

Referenced by ReadFilePar(), and ThinPlate().

int MyMdcGeomSvc::fTotalElecLayerNo [private]

Definition at line 39 of file MyMdcGeomSvc.hh.

Referenced by ReadFilePar(), and TotalElecLayerNo().

double MyMdcGeomSvc::fX[23] [private]

Definition at line 42 of file MyMdcGeomSvc.hh.

Referenced by ReadFilePar(), and X().

double MyMdcGeomSvc::fXCenThinPlate[12] [private]

Definition at line 56 of file MyMdcGeomSvc.hh.

Referenced by ReadFilePar(), and XCenThinPlate().

double MyMdcGeomSvc::fY[23] [private]

Definition at line 43 of file MyMdcGeomSvc.hh.

Referenced by ReadFilePar(), and Y().

double MyMdcGeomSvc::fYCenThinPlate[12] [private]

Definition at line 57 of file MyMdcGeomSvc.hh.

Referenced by ReadFilePar(), and YCenThinPlate().

double MyMdcGeomSvc::fZ[23] [private]

Definition at line 44 of file MyMdcGeomSvc.hh.

Referenced by ReadFilePar(), and Z().

double MyMdcGeomSvc::fZCableFrame[11] [private]

Definition at line 52 of file MyMdcGeomSvc.hh.

Referenced by ReadFilePar(), and ZCableFrame().

double MyMdcGeomSvc::fZCenThinPlate[12] [private]

Definition at line 58 of file MyMdcGeomSvc.hh.

Referenced by ReadFilePar(), and ZCenThinPlate().


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