11 #include "GaudiKernel/MsgStream.h"
15 #include <CLHEP/Matrix/Matrix.h>
16 #include <CLHEP/Matrix/Vector.h>
23 : m_CfgParams (*pCfgParams)
28 for(
int nStationID=0; nStationID<=3; ++nStationID){
33 char szStationName[8];
34 sprintf(szStationName,
"AFP%02i",(
int)eStation);
41 char szStationName[8];
42 sprintf(szStationName,
"AFP%02i",(
int)eStation);
100 ReqTransform=HepGeom::Translate3D(xComponent, yComponent, 0.0);
104 ReqTransform=HepGeom::Translate3D(xComponent, yComponent, 0.0)*HepGeom::Translate3D( xStag,0.0,-sidcfg.
fZDistanceInRPot);
109 ReqTransform=HepGeom::Translate3D(xComponent, yComponent, 0.0);
111 ReqTransform=HepGeom::Translate3D(xComponent, yComponent, 0.0)*HepGeom::TranslateX3D( xStag);
116 ReqTransform=HepGeom::Translate3D(xComponent, yComponent, 0.0);
118 ReqTransform=HepGeom::Translate3D(xComponent, yComponent ,0.0)*HepGeom::TranslateX3D( xStag);
123 ReqTransform=HepGeom::Translate3D(xComponent, yComponent, 0.0);
127 ReqTransform=HepGeom::Translate3D(xComponent, yComponent, 0.0)*HepGeom::Translate3D( xStag,0.0,-sidcfg.
fZDistanceInRPot);
140 std::string Station=std::string(pszStationName);
143 double falpha = sidcfg.
fSlope;
157 ReqTransform=TransInMotherVolume*NominalPosInPocket*HepGeom::Translate3D(fxm, 0.0*
CLHEP::mm, nPlateID*sidcfg.
fLayerSpacing/
std::cos(falpha))*HepGeom::RotateY3D(falpha)*ReqTransform;
192 ReqTransform=PlateTotTrans;
195 ReqTransform=TransSID;
198 ReqTransform=TransFEI4;
201 ReqTransform=TotTransSIDInWorld.inverse();
204 ReqTransform=TotTransSIDInWorld;
218 if(!strcmp(pszStationName,
"AFP00")) eStation=
EAS_AFP00;
219 else if(!strcmp(pszStationName,
"AFP01")) eStation=
EAS_AFP01;
220 else if(!strcmp(pszStationName,
"AFP02")) eStation=
EAS_AFP02;
221 else if(!strcmp(pszStationName,
"AFP03")) eStation=
EAS_AFP03;
230 LocalPoint=HepGeom::Point3D<double>();
235 if(nStationID>=0 && nStationID<=3){
238 Status=StatusCode::SUCCESS;
248 GlobalPoint=HepGeom::Point3D<double>();
251 if(nStationID>=0 && nStationID<=3){
254 Status=StatusCode::SUCCESS;
278 int i,j,nTrainOfBar11,nRefTrainID,nTrainID,nTrainCnt;
280 double fRadLength11, fLGuideLength11, fRadLength, fLGuideLength;
290 nRefTrainID = nTrainCnt-(RefBarDims.
nBarX1ID-1);
295 nTrainID = nTrainCnt-(
i-1);
300 std::vector<double> vecLGLengths;
302 vecLGLengths[0]=fLGuideLength11;
304 nTrainID=nTrainCnt-(
i-1);
319 fRadLength+=(tdcfg.
mapTrainInfo.at(nTrainOfBar11).fPerpShiftInPixel-tdcfg.
mapTrainInfo.at(nTrainID).fPerpShiftInPixel);
321 fLGuideLength=vecLGLengths[
i];