BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
MyMdcGeomSvc Class Reference

#include <MyMdcGeomSvc.hh>

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)
 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)
 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)

Detailed Description

Constructor & Destructor Documentation

◆ MyMdcGeomSvc() [1/3]

MyMdcGeomSvc::MyMdcGeomSvc ( )

Definition at line 9 of file MyMdcGeomSvc.cc.

9{ ReadFilePar(); }
void ReadFilePar()

◆ ~MyMdcGeomSvc() [1/3]

MyMdcGeomSvc::~MyMdcGeomSvc ( )

Definition at line 10 of file MyMdcGeomSvc.cc.

10{}

◆ MyMdcGeomSvc() [2/3]

MyMdcGeomSvc::MyMdcGeomSvc ( )

◆ ~MyMdcGeomSvc() [2/3]

MyMdcGeomSvc::~MyMdcGeomSvc ( )

◆ MyMdcGeomSvc() [3/3]

MyMdcGeomSvc::MyMdcGeomSvc ( )

◆ ~MyMdcGeomSvc() [3/3]

MyMdcGeomSvc::~MyMdcGeomSvc ( )

Member Function Documentation

◆ BoxEndcape() [1/3]

double MyMdcGeomSvc::BoxEndcape ( int n)

Definition at line 101 of file MyMdcGeomSvc.cc.

101{ return fBoxEndcape[n]; }
const Int_t n

Referenced by BesMdcConstruction::Construct().

◆ BoxEndcape() [2/3]

double MyMdcGeomSvc::BoxEndcape ( int n)

◆ BoxEndcape() [3/3]

double MyMdcGeomSvc::BoxEndcape ( int n)

◆ BoxInStep() [1/3]

double MyMdcGeomSvc::BoxInStep ( int n)

Definition at line 100 of file MyMdcGeomSvc.cc.

100{ return fBoxInStep[n]; }

◆ BoxInStep() [2/3]

double MyMdcGeomSvc::BoxInStep ( int n)

◆ BoxInStep() [3/3]

double MyMdcGeomSvc::BoxInStep ( int n)

◆ ElecNo() [1/3]

int MyMdcGeomSvc::ElecNo ( int n)

Definition at line 95 of file MyMdcGeomSvc.cc.

95{ return fElecNo[n]; }

Referenced by BesMdcConstruction::Construct().

◆ ElecNo() [2/3]

int MyMdcGeomSvc::ElecNo ( int n)

◆ ElecNo() [3/3]

int MyMdcGeomSvc::ElecNo ( int n)

◆ FixRing() [1/3]

double MyMdcGeomSvc::FixRing ( int n)

Definition at line 114 of file MyMdcGeomSvc.cc.

114{ return fFixRing[n]; }

Referenced by BesMdcConstruction::Construct().

◆ FixRing() [2/3]

double MyMdcGeomSvc::FixRing ( int n)

◆ FixRing() [3/3]

double MyMdcGeomSvc::FixRing ( int n)

◆ InnerRCableFrame() [1/3]

double MyMdcGeomSvc::InnerRCableFrame ( int n)

Definition at line 103 of file MyMdcGeomSvc.cc.

103{ return fInnerRCableFrame[n]; }

◆ InnerRCableFrame() [2/3]

double MyMdcGeomSvc::InnerRCableFrame ( int n)

◆ InnerRCableFrame() [3/3]

double MyMdcGeomSvc::InnerRCableFrame ( int n)

◆ Layerr() [1/3]

int MyMdcGeomSvc::Layerr ( int n)

Definition at line 94 of file MyMdcGeomSvc.cc.

94{ return fLayerr[n]; }

◆ Layerr() [2/3]

int MyMdcGeomSvc::Layerr ( int n)

◆ Layerr() [3/3]

int MyMdcGeomSvc::Layerr ( int n)

◆ LengthCableFrame() [1/3]

double MyMdcGeomSvc::LengthCableFrame ( int n)

Definition at line 105 of file MyMdcGeomSvc.cc.

105{ return fLengthCableFrame[n]; }

◆ LengthCableFrame() [2/3]

double MyMdcGeomSvc::LengthCableFrame ( int n)

◆ LengthCableFrame() [3/3]

double MyMdcGeomSvc::LengthCableFrame ( int n)

◆ LengthCableTub() [1/3]

double MyMdcGeomSvc::LengthCableTub ( int n)

Definition at line 102 of file MyMdcGeomSvc.cc.

102{ return fLengthCableTub[n]; }

Referenced by BesMdcConstruction::Construct().

◆ LengthCableTub() [2/3]

double MyMdcGeomSvc::LengthCableTub ( int n)

◆ LengthCableTub() [3/3]

double MyMdcGeomSvc::LengthCableTub ( int n)

◆ OuterRCableFrame() [1/3]

double MyMdcGeomSvc::OuterRCableFrame ( int n)

Definition at line 104 of file MyMdcGeomSvc.cc.

104{ return fOuterRCableFrame[n]; }

◆ OuterRCableFrame() [2/3]

double MyMdcGeomSvc::OuterRCableFrame ( int n)

◆ OuterRCableFrame() [3/3]

double MyMdcGeomSvc::OuterRCableFrame ( int n)

◆ R() [1/3]

double MyMdcGeomSvc::R ( int n)

Definition at line 99 of file MyMdcGeomSvc.cc.

99{ return fR[n]; }

Referenced by BesMdcConstruction::Construct().

◆ R() [2/3]

double MyMdcGeomSvc::R ( int n)

◆ R() [3/3]

double MyMdcGeomSvc::R ( int n)

◆ ReadFilePar() [1/3]

void MyMdcGeomSvc::ReadFilePar ( )

Definition at line 11 of file MyMdcGeomSvc.cc.

11 {
12 std::string geometryFilePath1 = getenv( "MDCSIMROOT" );
13 geometryFilePath1 += "/dat/MdcElectronics.txt";
14
15 std::ifstream in;
16 in.open( geometryFilePath1.c_str() );
17 assert( in );
18 const int maxCharOneLine = 255;
19 char temp[maxCharOneLine];
20 int i = 0;
21 while ( in.peek() != EOF )
22 {
23 in.getline( temp, maxCharOneLine );
24 i++;
25 if ( temp[0] == '#' ) continue;
26 // i is the row number of MdcElectronics.dat
27 if ( i == 2 )
28 {
29 istringstream( temp ) >> fTotalElecLayerNo;
30 continue;
31 }
32 if ( i >= 4 && i <= 26 )
33 {
34 istringstream( temp ) >> fLayerr[i - 4] >> fElecNo[i - 4];
35 continue;
36 }
37 if ( i > 28 && i <= 51 )
38 {
39 istringstream( temp ) >> fX[i - 29] >> fY[i - 29] >> fZ[i - 29] >> fR[i - 29];
40 continue;
41 }
42 if ( i == 55 )
43 {
44 istringstream( temp ) >> fBoxInStep[0] >> fBoxInStep[1] >> fBoxInStep[2];
45 continue;
46 }
47 if ( i == 59 )
48 {
49 istringstream( temp ) >> fBoxEndcape[0] >> fBoxEndcape[1] >> fBoxEndcape[2];
50 continue;
51 }
52 if ( i == 63 ) { istringstream( temp ) >> fFixRing[0] >> fFixRing[1] >> fFixRing[2]; }
53 if ( i >= 76 && i < 87 )
54 {
55 istringstream( temp ) >> fInnerRCableFrame[i - 76] >> fOuterRCableFrame[i - 76] >>
56 fLengthCableFrame[i - 76] >> fZCableFrame[i - 76];
57 continue;
58 }
59 if ( i == 90 )
60 {
61 istringstream( temp ) >> fThinPlate[0] >> fThinPlate[1] >> fThinPlate[2];
62 continue;
63 }
64
65 if ( i >= 93 && i < 105 )
66 {
67 istringstream( temp ) >> fXCenThinPlate[i - 93] >> fYCenThinPlate[i - 93] >>
68 fZCenThinPlate[i - 93] >> fRotateXAngle[i - 93];
69 continue;
70 }
71
72 if ( i == 107 )
73 {
74 istringstream( temp ) >> fLengthCableTub[0] >> fLengthCableTub[1] >>
75 fLengthCableTub[2] >> fLengthCableTub[3] >> fLengthCableTub[4] >>
76 fLengthCableTub[5] >> fLengthCableTub[6] >> fLengthCableTub[7] >>
77 fLengthCableTub[8] >> fLengthCableTub[9] >> fLengthCableTub[10] >>
78 fLengthCableTub[11] >> fLengthCableTub[12];
79 continue;
80 }
81 if ( i == 109 )
82 {
83 istringstream( temp ) >> fLengthCableTub[13] >> fLengthCableTub[14] >>
84 fLengthCableTub[15] >> fLengthCableTub[16] >> fLengthCableTub[17] >>
85 fLengthCableTub[18] >> fLengthCableTub[19] >> fLengthCableTub[20] >>
86 fLengthCableTub[21] >> fLengthCableTub[22] >> fLengthCableTub[23] >>
87 fLengthCableTub[24];
88 continue;
89 }
90 }
91}

Referenced by MyMdcGeomSvc().

◆ ReadFilePar() [2/3]

void MyMdcGeomSvc::ReadFilePar ( )

◆ ReadFilePar() [3/3]

void MyMdcGeomSvc::ReadFilePar ( )

◆ RotateXAngle() [1/3]

double MyMdcGeomSvc::RotateXAngle ( int n)

Definition at line 112 of file MyMdcGeomSvc.cc.

112{ return fRotateXAngle[n]; }

◆ RotateXAngle() [2/3]

double MyMdcGeomSvc::RotateXAngle ( int n)

◆ RotateXAngle() [3/3]

double MyMdcGeomSvc::RotateXAngle ( int n)

◆ ThinPlate() [1/3]

double MyMdcGeomSvc::ThinPlate ( int n)

Definition at line 108 of file MyMdcGeomSvc.cc.

108{ return fThinPlate[n]; }

◆ ThinPlate() [2/3]

double MyMdcGeomSvc::ThinPlate ( int n)

◆ ThinPlate() [3/3]

double MyMdcGeomSvc::ThinPlate ( int n)

◆ TotalElecLayerNo() [1/3]

int MyMdcGeomSvc::TotalElecLayerNo ( )

Definition at line 93 of file MyMdcGeomSvc.cc.

93{ return fTotalElecLayerNo; }

Referenced by BesMdcConstruction::Construct().

◆ TotalElecLayerNo() [2/3]

int MyMdcGeomSvc::TotalElecLayerNo ( )

◆ TotalElecLayerNo() [3/3]

int MyMdcGeomSvc::TotalElecLayerNo ( )

◆ X() [1/3]

double MyMdcGeomSvc::X ( int n)

Definition at line 96 of file MyMdcGeomSvc.cc.

96{ return fX[n]; }

Referenced by BesMdcConstruction::Construct().

◆ X() [2/3]

double MyMdcGeomSvc::X ( int n)

◆ X() [3/3]

double MyMdcGeomSvc::X ( int n)

◆ XCenThinPlate() [1/3]

double MyMdcGeomSvc::XCenThinPlate ( int n)

Definition at line 109 of file MyMdcGeomSvc.cc.

109{ return fXCenThinPlate[n]; }

◆ XCenThinPlate() [2/3]

double MyMdcGeomSvc::XCenThinPlate ( int n)

◆ XCenThinPlate() [3/3]

double MyMdcGeomSvc::XCenThinPlate ( int n)

◆ Y() [1/3]

double MyMdcGeomSvc::Y ( int n)

Definition at line 97 of file MyMdcGeomSvc.cc.

97{ return fY[n]; }

◆ Y() [2/3]

double MyMdcGeomSvc::Y ( int n)

◆ Y() [3/3]

double MyMdcGeomSvc::Y ( int n)

◆ YCenThinPlate() [1/3]

double MyMdcGeomSvc::YCenThinPlate ( int n)

Definition at line 110 of file MyMdcGeomSvc.cc.

110{ return fYCenThinPlate[n]; }

◆ YCenThinPlate() [2/3]

double MyMdcGeomSvc::YCenThinPlate ( int n)

◆ YCenThinPlate() [3/3]

double MyMdcGeomSvc::YCenThinPlate ( int n)

◆ Z() [1/3]

double MyMdcGeomSvc::Z ( int n)

Definition at line 98 of file MyMdcGeomSvc.cc.

98{ return fZ[n]; }

Referenced by BesMdcConstruction::Construct().

◆ Z() [2/3]

double MyMdcGeomSvc::Z ( int n)

◆ Z() [3/3]

double MyMdcGeomSvc::Z ( int n)

◆ ZCableFrame() [1/3]

double MyMdcGeomSvc::ZCableFrame ( int n)

Definition at line 106 of file MyMdcGeomSvc.cc.

106{ return fZCableFrame[n]; }

◆ ZCableFrame() [2/3]

double MyMdcGeomSvc::ZCableFrame ( int n)

◆ ZCableFrame() [3/3]

double MyMdcGeomSvc::ZCableFrame ( int n)

◆ ZCenThinPlate() [1/3]

double MyMdcGeomSvc::ZCenThinPlate ( int n)

Definition at line 111 of file MyMdcGeomSvc.cc.

111{ return fZCenThinPlate[n]; }

◆ ZCenThinPlate() [2/3]

double MyMdcGeomSvc::ZCenThinPlate ( int n)

◆ ZCenThinPlate() [3/3]

double MyMdcGeomSvc::ZCenThinPlate ( int n)

The documentation for this class was generated from the following files: