CGEM BOSS 6.6.5.f
BESIII Offline Software System
Loading...
Searching...
No Matches
CgemMidDriftPlane Class Reference

#include <CgemMidDriftPlane.h>

Public Member Functions

 CgemMidDriftPlane ()
 
 ~CgemMidDriftPlane ()
 
void setAlignment (CgemGeoAlign *alignPtr)
 
void setReadoutPlane (int layer, int sheet, CgemGeoReadoutPlane *readoutPtr)
 
void setR (int layer, double r)
 
double getR (int layer)
 
bool getPointIdealGeom (int layer, StraightLine pLine, HepPoint3D &posUp, HepPoint3D &posDown, double phiVUp[], double phiVDown[])
 
bool getPointIdealGeom (int layer, StraightLine *pLine, HepPoint3D &posUp, HepPoint3D &posDown, double phiVUp[], double phiVDown[])
 
bool getPointAligned (int layer, StraightLine pLine, HepPoint3D &posUp, HepPoint3D &posDown, double phiVUp[], double phiVDown[])
 
bool getPointAligned (int layer, StraightLine *pLine, HepPoint3D &posUp, HepPoint3D &posDown, double phiVUp[], double phiVDown[])
 
bool xyzToPhiVIdealGeom (int layer, HepPoint3D pos, double phiV[])
 
 CgemMidDriftPlane ()
 
 ~CgemMidDriftPlane ()
 
void setAlignment (CgemGeoAlign *alignPtr)
 
void setReadoutPlane (int layer, int sheet, CgemGeoReadoutPlane *readoutPtr)
 
void setR (int layer, double r)
 
double getR (int layer)
 
bool getPointIdealGeom (int layer, StraightLine pLine, HepPoint3D &posUp, HepPoint3D &posDown, double phiVUp[], double phiVDown[])
 
bool getPointIdealGeom (int layer, StraightLine *pLine, HepPoint3D &posUp, HepPoint3D &posDown, double phiVUp[], double phiVDown[])
 
bool getPointAligned (int layer, StraightLine pLine, HepPoint3D &posUp, HepPoint3D &posDown, double phiVUp[], double phiVDown[])
 
bool getPointAligned (int layer, StraightLine *pLine, HepPoint3D &posUp, HepPoint3D &posDown, double phiVUp[], double phiVDown[])
 
bool xyzToPhiVIdealGeom (int layer, HepPoint3D pos, double phiV[])
 

Detailed Description

Constructor & Destructor Documentation

◆ CgemMidDriftPlane() [1/2]

CgemMidDriftPlane::CgemMidDriftPlane ( )

Definition at line 18 of file CgemMidDriftPlane.cxx.

18 {
19}

◆ ~CgemMidDriftPlane() [1/2]

CgemMidDriftPlane::~CgemMidDriftPlane ( )

Definition at line 21 of file CgemMidDriftPlane.cxx.

21 {
22}

◆ CgemMidDriftPlane() [2/2]

CgemMidDriftPlane::CgemMidDriftPlane ( )

◆ ~CgemMidDriftPlane() [2/2]

CgemMidDriftPlane::~CgemMidDriftPlane ( )

Member Function Documentation

◆ getPointAligned() [1/4]

bool CgemMidDriftPlane::getPointAligned ( int  layer,
StraightLine pLine,
HepPoint3D posUp,
HepPoint3D posDown,
double  phiVUp[],
double  phiVDown[] 
)

Definition at line 66 of file CgemMidDriftPlane.cxx.

68 {
69 return getPointAligned(layer, *pLine, posUp, posDown, phiVUp, phiVDown);
70}
bool getPointAligned(int layer, StraightLine pLine, HepPoint3D &posUp, HepPoint3D &posDown, double phiVUp[], double phiVDown[])

◆ getPointAligned() [2/4]

bool CgemMidDriftPlane::getPointAligned ( int  layer,
StraightLine pLine,
HepPoint3D posUp,
HepPoint3D posDown,
double  phiVUp[],
double  phiVDown[] 
)

◆ getPointAligned() [3/4]

bool CgemMidDriftPlane::getPointAligned ( int  layer,
StraightLine  pLine,
HepPoint3D posUp,
HepPoint3D posDown,
double  phiVUp[],
double  phiVDown[] 
)

Definition at line 43 of file CgemMidDriftPlane.cxx.

45 {
46 double trk[4];
47 trk[0] = pLine.dr();
48 trk[1] = pLine.phi0();
49 trk[2] = pLine.dz();
50 trk[3] = pLine.tanl();
51
52 double trkCnv[4];
53 StraightLine lineCnv = m_align->StraightLineConversion(layer, pLine);
54
55 HepPoint3D posDownLocal = lineCnv.xAtR(m_rad[layer], 1);
56 xyzToPhiVIdealGeom(layer, posDownLocal, phiVDown);
57 posDown = m_align->point_invTransform(layer, posDownLocal);
58
59 HepPoint3D posUpLocal = lineCnv.xAtR(m_rad[layer], -1);
60 xyzToPhiVIdealGeom(layer, posUpLocal, phiVUp);
61 posUp = m_align->point_invTransform(layer, posUpLocal);
62
63 return true;
64}
StraightLine StraightLineConversion(int layer, StraightLine lineOriginal)
HepPoint3D point_invTransform(int layer, HepPoint3D pos)
bool xyzToPhiVIdealGeom(int layer, HepPoint3D pos, double phiV[])
HepPoint3D xAtR(double R, int direction=1) const
double dr(void) const
returns an element of parameters.

Referenced by getPointAligned().

◆ getPointAligned() [4/4]

bool CgemMidDriftPlane::getPointAligned ( int  layer,
StraightLine  pLine,
HepPoint3D posUp,
HepPoint3D posDown,
double  phiVUp[],
double  phiVDown[] 
)

◆ getPointIdealGeom() [1/4]

bool CgemMidDriftPlane::getPointIdealGeom ( int  layer,
StraightLine pLine,
HepPoint3D posUp,
HepPoint3D posDown,
double  phiVUp[],
double  phiVDown[] 
)

Definition at line 37 of file CgemMidDriftPlane.cxx.

39 {
40 return getPointIdealGeom(layer, *pLine, posUp, posDown, phiVUp, phiVDown);
41}
bool getPointIdealGeom(int layer, StraightLine pLine, HepPoint3D &posUp, HepPoint3D &posDown, double phiVUp[], double phiVDown[])

◆ getPointIdealGeom() [2/4]

bool CgemMidDriftPlane::getPointIdealGeom ( int  layer,
StraightLine pLine,
HepPoint3D posUp,
HepPoint3D posDown,
double  phiVUp[],
double  phiVDown[] 
)

◆ getPointIdealGeom() [3/4]

bool CgemMidDriftPlane::getPointIdealGeom ( int  layer,
StraightLine  pLine,
HepPoint3D posUp,
HepPoint3D posDown,
double  phiVUp[],
double  phiVDown[] 
)

Definition at line 24 of file CgemMidDriftPlane.cxx.

26 {
27
28 posDown = pLine.xAtR(m_rad[layer], 1);
29 xyzToPhiVIdealGeom(layer, posDown, phiVDown);
30
31 posUp = pLine.xAtR(m_rad[layer], -1);
32 xyzToPhiVIdealGeom(layer, posUp, phiVUp);
33
34 return true;
35}

Referenced by getPointIdealGeom().

◆ getPointIdealGeom() [4/4]

bool CgemMidDriftPlane::getPointIdealGeom ( int  layer,
StraightLine  pLine,
HepPoint3D posUp,
HepPoint3D posDown,
double  phiVUp[],
double  phiVDown[] 
)

◆ getR() [1/2]

double CgemMidDriftPlane::getR ( int  layer)
inline

Definition at line 19 of file Cgem/CgemGeomSvc/CgemGeomSvc-00-00-31-p01/CgemGeomSvc/CgemMidDriftPlane.h.

19{return m_rad[layer];}

◆ getR() [2/2]

double CgemMidDriftPlane::getR ( int  layer)
inline

Definition at line 19 of file InstallArea/include/CgemGeomSvc/CgemGeomSvc/CgemMidDriftPlane.h.

19{return m_rad[layer];}

◆ setAlignment() [1/2]

void CgemMidDriftPlane::setAlignment ( CgemGeoAlign alignPtr)
inline

Definition at line 14 of file Cgem/CgemGeomSvc/CgemGeomSvc-00-00-31-p01/CgemGeomSvc/CgemMidDriftPlane.h.

14{m_align = alignPtr;}

Referenced by CgemGeomSvc::initialize().

◆ setAlignment() [2/2]

void CgemMidDriftPlane::setAlignment ( CgemGeoAlign alignPtr)
inline

Definition at line 14 of file InstallArea/include/CgemGeomSvc/CgemGeomSvc/CgemMidDriftPlane.h.

14{m_align = alignPtr;}

◆ setR() [1/2]

void CgemMidDriftPlane::setR ( int  layer,
double  r 
)
inline

Definition at line 18 of file Cgem/CgemGeomSvc/CgemGeomSvc-00-00-31-p01/CgemGeomSvc/CgemMidDriftPlane.h.

18{m_rad[layer] = r;}

Referenced by CgemGeomSvc::initialize().

◆ setR() [2/2]

void CgemMidDriftPlane::setR ( int  layer,
double  r 
)
inline

Definition at line 18 of file InstallArea/include/CgemGeomSvc/CgemGeomSvc/CgemMidDriftPlane.h.

18{m_rad[layer] = r;}

◆ setReadoutPlane() [1/2]

void CgemMidDriftPlane::setReadoutPlane ( int  layer,
int  sheet,
CgemGeoReadoutPlane readoutPtr 
)
inline

Definition at line 15 of file Cgem/CgemGeomSvc/CgemGeomSvc-00-00-31-p01/CgemGeomSvc/CgemMidDriftPlane.h.

16 {m_readoutPlane[layer][sheet]=readoutPtr;}

Referenced by CgemGeomSvc::initialize().

◆ setReadoutPlane() [2/2]

void CgemMidDriftPlane::setReadoutPlane ( int  layer,
int  sheet,
CgemGeoReadoutPlane readoutPtr 
)
inline

Definition at line 15 of file InstallArea/include/CgemGeomSvc/CgemGeomSvc/CgemMidDriftPlane.h.

16 {m_readoutPlane[layer][sheet]=readoutPtr;}

◆ xyzToPhiVIdealGeom() [1/2]

bool CgemMidDriftPlane::xyzToPhiVIdealGeom ( int  layer,
HepPoint3D  pos,
double  phiV[] 
)

Definition at line 72 of file CgemMidDriftPlane.cxx.

72 {
73 double phi=pos.phi();
74 double z =pos.z();
75 phiV[0]=phi;
76 phiV[1]=99999.;
77 int nSheet=2; if(layer==0) nSheet=1;
78 for(int iSheet=0; iSheet<nSheet; iSheet++)
79 {
80 if(m_readoutPlane[layer][iSheet]->OnThePlane(phi,z))
81 {
82 phiV[1]=m_readoutPlane[layer][iSheet]->getVFromPhiZ(phi,z);
83 break;
84 }
85 }
86
87 return true;
88}

Referenced by getPointAligned(), and getPointIdealGeom().

◆ xyzToPhiVIdealGeom() [2/2]

bool CgemMidDriftPlane::xyzToPhiVIdealGeom ( int  layer,
HepPoint3D  pos,
double  phiV[] 
)

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