8                                              const std::string& 
name,
 
   22   return StatusCode::SUCCESS;
 
   36   double extFtfInnerEta=0.,  extFtfInnerZ=0.,  extFtfInnerR=0.,  extFtfInnerPhi=0.;
 
   37   double extFtfMiddleEta=0., extFtfMiddleZ=0., extFtfMiddleR=0., extFtfMiddlePhi=0.;
 
   38   double extFtfOuterEta=0.,  extFtfOuterZ=0.,  extFtfOuterR=0.,  extFtfOuterPhi=0.;
 
   40   double aw_ftf[3]={0.,0.,0.}; 
 
   41   double bw_ftf[3]={0.,0.,0.}; 
 
   44   bool CylinderFirst = (std::abs(idtrack->
eta()) < 1.05);
 
   46   double innerCylinderZ = 7500.;
 
   47   double middleCylinderZ = 14000.;
 
   48   double outerCylinderZ = 21500.;
 
   49   if(idtrack->
eta() < 0) {
 
   50     innerCylinderZ = -innerCylinderZ;
 
   51     middleCylinderZ = -middleCylinderZ;
 
   52     outerCylinderZ = -outerCylinderZ;
 
   55   auto extFtfInner = extTrack( ctx, CylinderFirst, idtrack, 4700., innerCylinderZ, muonRoad.
ext_ftf_flag[0][0]);
 
   57     ATH_MSG_DEBUG(
"extrapolated track parameters on BarrelInner is null");
 
   59     extFtfInnerEta = extFtfInner->eta();
 
   60     extFtfInnerPhi = extFtfInner->position().phi();
 
   61     extFtfInnerZ = extFtfInner->position().z();
 
   62     extFtfInnerR = std::hypot(extFtfInner->position().x(), extFtfInner->position().y());
 
   63     ATH_MSG_DEBUG(
"extFtfInnerEta: " << extFtfInnerEta << 
", extFtfInnerPhi: " << extFtfInnerPhi << 
", extFtfInnerZ: " << extFtfInnerZ << 
", extFtfInnerR: " << extFtfInnerR);
 
   65     bw_ftf[0] = extFtfInnerR - (aw_ftf[0])*extFtfInnerZ;
 
   66     muonRoad.
r_ftf[0][0] = extFtfInnerR;
 
   67     muonRoad.
z_ftf[0][0] = extFtfInnerZ;
 
   74       CylinderFirst = 
false;
 
   76     auto extFtfMiddle = extTrack( ctx, CylinderFirst, *extFtfInner, 7300., middleCylinderZ, muonRoad.
ext_ftf_flag[1][0]);
 
   78       ATH_MSG_DEBUG(
"extrapolated track parameters on BarrelMiddle is null");
 
   80       extFtfMiddleEta = extFtfMiddle->eta();
 
   81       extFtfMiddlePhi = extFtfMiddle->position().phi();
 
   82       extFtfMiddleZ = extFtfMiddle->position().z();
 
   83       extFtfMiddleR = std::hypot(extFtfMiddle->position().x(), extFtfMiddle->position().y());
 
   84       ATH_MSG_DEBUG(
"extFtfMiddleEta: " << extFtfMiddleEta << 
", extFtfMiddlePhi: " << extFtfMiddlePhi << 
", extFtfMiddleZ: " << extFtfMiddleZ << 
", extFtfMiddleR: " << extFtfMiddleR);
 
   86       bw_ftf[1] = extFtfMiddleR - (aw_ftf[1])*extFtfMiddleZ;
 
   87       muonRoad.
r_ftf[1][0] = extFtfMiddleR;
 
   88       muonRoad.
z_ftf[1][0] = extFtfMiddleZ;
 
   95     CylinderFirst = 
false;
 
   97       auto extFtfOuter = extTrack( ctx, CylinderFirst, *extFtfMiddle, 9800., outerCylinderZ, muonRoad.
ext_ftf_flag[2][0]);
 
   99     ATH_MSG_DEBUG(
"extrapolated track parameters on BarrelOuter is null");
 
  101     extFtfOuterEta = extFtfOuter->eta();
 
  102     extFtfOuterPhi = extFtfOuter->position().phi();
 
  103     extFtfOuterZ = extFtfOuter->position().z();
 
  104     extFtfOuterR = std::hypot(extFtfOuter->position().x(), extFtfOuter->position().y());
 
  105     ATH_MSG_DEBUG(
"extFtfOuterEta: " << extFtfOuterEta << 
", extFtfOuterPhi: " << extFtfOuterPhi << 
", extFtfOuterZ: " << extFtfOuterZ << 
", extFtfOuterR: " << extFtfOuterR);
 
  107     bw_ftf[2] = extFtfOuterR - (aw_ftf[2])*extFtfOuterZ;
 
  108     muonRoad.
r_ftf[2][0] = extFtfOuterR;
 
  109     muonRoad.
z_ftf[2][0] = extFtfOuterZ;
 
  117   for (
int i_sector=0; i_sector<
N_SECTOR; i_sector++) { 
 
  118     muonRoad.
aw_ftf[0][i_sector]  = aw_ftf[0];
 
  119     muonRoad.
bw_ftf[0][i_sector]  = bw_ftf[0];
 
  120     muonRoad.
aw_ftf[1][i_sector]  = aw_ftf[1];
 
  121     muonRoad.
bw_ftf[1][i_sector]  = bw_ftf[1];
 
  122     muonRoad.
aw_ftf[2][i_sector]  = aw_ftf[2];
 
  123     muonRoad.
bw_ftf[2][i_sector]  = bw_ftf[2];
 
  124     muonRoad.
aw_ftf[3][i_sector]  = aw_ftf[0];
 
  125     muonRoad.
bw_ftf[3][i_sector]  = bw_ftf[0];
 
  126     muonRoad.
aw_ftf[4][i_sector]  = aw_ftf[1];
 
  127     muonRoad.
bw_ftf[4][i_sector]  = bw_ftf[1];
 
  128     muonRoad.
aw_ftf[5][i_sector]  = aw_ftf[2];
 
  129     muonRoad.
bw_ftf[5][i_sector]  = bw_ftf[2];
 
  130     muonRoad.
aw_ftf[6][i_sector]  = aw_ftf[0];
 
  131     muonRoad.
bw_ftf[6][i_sector]  = bw_ftf[0];
 
  132     muonRoad.
aw_ftf[7][i_sector]  = aw_ftf[0];
 
  133     muonRoad.
bw_ftf[7][i_sector]  = bw_ftf[0];
 
  134     muonRoad.
aw_ftf[8][i_sector]  = aw_ftf[0];
 
  135     muonRoad.
bw_ftf[8][i_sector]  = bw_ftf[0];
 
  136     muonRoad.
aw_ftf[9][i_sector]  = aw_ftf[1];
 
  137     muonRoad.
bw_ftf[9][i_sector]  = bw_ftf[1];
 
  138     muonRoad.
aw_ftf[10][i_sector] = aw_ftf[1];
 
  139     muonRoad.
bw_ftf[10][i_sector] = bw_ftf[1];
 
  141     muonRoad.
eta_ftf[0][i_sector]  = extFtfInnerEta;
 
  142     muonRoad.
phi_ftf[0][i_sector]  = extFtfInnerPhi;
 
  143     muonRoad.
eta_ftf[1][i_sector]  = extFtfMiddleEta;
 
  144     muonRoad.
phi_ftf[1][i_sector]  = extFtfMiddlePhi;
 
  145     muonRoad.
eta_ftf[2][i_sector]  = extFtfOuterEta;
 
  146     muonRoad.
phi_ftf[2][i_sector]  = extFtfOuterPhi;
 
  147     muonRoad.
eta_ftf[3][i_sector]  = extFtfInnerEta;
 
  148     muonRoad.
phi_ftf[3][i_sector]  = extFtfInnerPhi;
 
  149     muonRoad.
eta_ftf[4][i_sector]  = extFtfMiddleEta;
 
  150     muonRoad.
phi_ftf[4][i_sector]  = extFtfMiddlePhi;
 
  151     muonRoad.
eta_ftf[5][i_sector]  = extFtfOuterEta;
 
  152     muonRoad.
phi_ftf[5][i_sector]  = extFtfOuterPhi;
 
  153     muonRoad.
eta_ftf[6][i_sector]  = extFtfInnerEta;
 
  154     muonRoad.
phi_ftf[6][i_sector]  = extFtfInnerPhi;
 
  155     muonRoad.
eta_ftf[7][i_sector]  = extFtfInnerEta;
 
  156     muonRoad.
phi_ftf[7][i_sector]  = extFtfInnerPhi;
 
  157     muonRoad.
eta_ftf[8][i_sector]  = extFtfInnerEta;
 
  158     muonRoad.
phi_ftf[8][i_sector]  = extFtfInnerPhi;
 
  159     muonRoad.
eta_ftf[9][i_sector]  = extFtfMiddleEta;
 
  160     muonRoad.
phi_ftf[9][i_sector]  = extFtfMiddlePhi;
 
  161     muonRoad.
eta_ftf[10][i_sector] = extFtfMiddleEta;
 
  162     muonRoad.
phi_ftf[10][i_sector] = extFtfMiddlePhi;
 
  165   return StatusCode::SUCCESS;
 
  175   const bool boundaryCheck = 
true;
 
  178   std::unique_ptr<const Trk::CylinderSurface> barrel = std::make_unique<const Trk::CylinderSurface>( R, Z );
 
  182   std::unique_ptr<const Trk::DiscSurface> disc = std::make_unique<const Trk::DiscSurface>( 
matrix, 0, R );
 
  187     std::unique_ptr<const Trk::TrackParameters> param1( m_extrapolator->extrapolate(ctx,
 
  197     std::unique_ptr<const Trk::TrackParameters> param2( m_extrapolator->extrapolate(ctx,
 
  208     std::unique_ptr<const Trk::TrackParameters> param2( m_extrapolator->extrapolate(ctx,
 
  218     std::unique_ptr<const Trk::TrackParameters> param1( m_extrapolator->extrapolate(ctx,
 
  238   const bool boundaryCheck = 
true;
 
  241   std::unique_ptr<const Trk::CylinderSurface> barrel = std::make_unique<const Trk::CylinderSurface>( R, Z );
 
  245   std::unique_ptr<const Trk::DiscSurface> disc = std::make_unique<const Trk::DiscSurface>( 
matrix, 0, R );
 
  250     std::unique_ptr<const Trk::TrackParameters> param1( m_extrapolator->extrapolate(ctx,
 
  260     std::unique_ptr<const Trk::TrackParameters> param2( m_extrapolator->extrapolate(ctx,
 
  271     std::unique_ptr<const Trk::TrackParameters> param2( m_extrapolator->extrapolate(ctx,
 
  281     std::unique_ptr<const Trk::TrackParameters> param1( m_extrapolator->extrapolate(ctx,