  | 
  
    ATLAS Offline Software
    
   | 
 
 
 
 
 | 
| void  | lineCircleIntersection (const Amg::Vector3D &a, const Amg::Vector3D &b, const double &r, double &u1, double &u2) const | 
|   | 
| void  | movePoint1ToZPlaneAndPoint2 (Amg::Vector3D &p1, const Amg::Vector3D &p2, const double &z) const | 
|   | 
| bool  | clipSegmentToZInterval (Amg::Vector3D &a, Amg::Vector3D &b, const double &zmin, const double &zmax) const | 
|   | 
| void  | movePoint1ToInfiniteCylinderAndPoint2 (Amg::Vector3D &p1, const Amg::Vector3D &p2, const double &r) const | 
|   | 
| bool  | clipSegmentToInfiniteHollowCylinder (Amg::Vector3D &a, Amg::Vector3D &b, const double &rmin, const double &rmax, Amg::Vector3D &seg2_a, Amg::Vector3D &seg2_b) const | 
|   | 
| bool  | clipSegmentToHollowCylinder (Amg::Vector3D &a, Amg::Vector3D &b, const double &rmin, const double &rmax, const double &zmin, const double &zmax, Amg::Vector3D &seg2_a, Amg::Vector3D &seg2_b) const | 
|   | 
| void  | clipPathToHollowCylinder (const std::vector< Amg::Vector3D > &in, Amg::SetVectorVector3D &out, const double &rmin, const double &rmax, const double &zmin, const double &zmax) const | 
|   | 
| bool  | touchesHollowCylinder (const std::vector< Amg::Vector3D > &path, const double &rmin, const double &rmax, const double &zmin, const double &zmax) const | 
|   | 
| void  | projectPathToInfiniteCylinder (const std::vector< Amg::Vector3D > &in, Amg::SetVectorVector3D &outset, const double &r) const | 
|   | 
| void  | projectPathToZPlane (const std::vector< Amg::Vector3D > &in, Amg::SetVectorVector3D &outset, const double &z) const | 
|   | 
| void  | projectPathToZPlane_specialZtoR (const std::vector< Amg::Vector3D > &in, Amg::SetVectorVector3D &outset, const double &z) const | 
|   | 
Definition at line 86 of file InDetProjHelper.cxx.
 
◆ clipPathToHollowCylinder()
Definition at line 667 of file InDetProjHelper.cxx.
  682   if (rmin>=rmax||rmin<0||zmin>=
zmax) {
 
  683     theclass->
message(
"clipPathToHollowCylinder Error: Non-sensical cylinder parameters!");
 
  686   const unsigned n=in.size();
 
  692   std::vector<Amg::Vector3D > 
v;
 
  693   for (
unsigned i = 1; 
i<
n; ++
i) {
 
  702     if (seg2_a!=seg2_b) {
 
  711     if ( 
v.back() != 
a ) {
 
  718     if (seg2_a!=seg2_b) {
 
 
 
 
◆ clipSegmentToHollowCylinder()
◆ clipSegmentToInfiniteHollowCylinder()
Definition at line 481 of file InDetProjHelper.cxx.
  500   const double ar2 = 
a.x()*
a.x()+
a.y()*
a.y();
 
  501   const double br2 = 
b.x()*
b.x()+
b.y()*
b.y();
 
  502   const double rmin2 = rmin*rmin;
 
  504   if (ar2 <= rmin2 && br2 <= rmin2 ) {
 
  511   if ( (
a.x()<=-rmax&&
b.x()<=-rmax) || (
a.x()>=rmax&&
b.x()>=rmax) || (
a.y()<=-rmax&&
b.y()<=-rmax)|| (
a.y()>=rmax&&
b.y()>=rmax) ) {
 
  519   const double dx = 
b.x()-
a.x();
 
  520   const double dy = 
b.y()-
a.y();
 
  521   const double rmax2 = rmax*rmax;
 
  522   if (
dx==0.0&&
dy==0.0) {
 
  530   const double px = ( 
u <= 0 ? 
a.x() : ( 
u >= 1 ? 
b.x() : 
a.x()+
u*
dx ) );
 
  531   const double py = ( 
u <= 0 ? 
a.y() : ( 
u >= 1 ? 
b.y() : 
a.y()+
u*
dy ) );
 
  544   if (pr2>=rmin2&&ar2<=rmax2&&br2<=rmax2) {
 
  554   if (ar2>rmax2||br2>rmax2) {
 
  574       b = asave+u2*(
b-asave);
 
  596       seg2_a=
a+u2*(seg2_b-
a);
 
 
 
 
◆ clipSegmentToZInterval()
◆ lineCircleIntersection()
Definition at line 450 of file InDetProjHelper.cxx.
  453   const double dx = 
b.x()-
a.x();
 
  454   const double dy = 
b.y()-
a.y();
 
  458     u1 = u2 = ( 
a.x()*
a.x()+
a.y()*
a.y() == 
r*
r ? 0.0 : 1.0e99 );
 
  461   double B = 2.0*( 
a.x()*
dx + 
a.y()*
dy );
 
  462   double C = 
a.x()*
a.x()+
a.y()*
a.y() - 
r*
r;
 
  463   double D = 
B*
B-4*
A*
C;
 
  467     double sqrtD = sqrt(D);
 
  468     u1 = 0.5 * ( -
B - sqrtD) / 
A;
 
  469     u2 = 0.5 * ( -
B + sqrtD) / 
A;
 
 
 
 
◆ movePoint1ToInfiniteCylinderAndPoint2()
◆ movePoint1ToZPlaneAndPoint2()
◆ projectPathToInfiniteCylinder()
Definition at line 741 of file InDetProjHelper.cxx.
  744   std::vector<Amg::Vector3D > 
out(in);
 
  748     if ( 
it->x()==0.0 && 
it->y()==0.0 ) {
 
  749       theclass->
message(
"ERROR: Point has x==0 and y==0. Ambiguous projection of point.");
 
  754     s = 
r / sqrt( 
it->x()*
it->x()+
it->y()*
it->y() );
 
 
 
 
◆ projectPathToZPlane()
◆ projectPathToZPlane_specialZtoR()
◆ touchesHollowCylinder()
Definition at line 945 of file InDetProjHelper.cxx.
  949   const double rmin2(rmin*rmin), rmax2(rmax*rmax);
 
  951   std::vector<Amg::Vector3D >::const_iterator 
it(
path.begin()), 
itE(
path.end());
 
 
 
 
◆ barrel_inner_radius
      
        
          | double InDetProjHelper::Imp::barrel_inner_radius = 0.0 | 
        
      
 
 
◆ barrel_outer_radius
      
        
          | double InDetProjHelper::Imp::barrel_outer_radius = 0.0 | 
        
      
 
 
◆ barrel_posneg_z
      
        
          | double InDetProjHelper::Imp::barrel_posneg_z = 0.0 | 
        
      
 
 
◆ covercyl_rmax
      
        
          | double InDetProjHelper::Imp::covercyl_rmax = 0.0 | 
        
      
 
 
◆ covercyl_rmin
      
        
          | double InDetProjHelper::Imp::covercyl_rmin = 0.0 | 
        
      
 
 
◆ covercyl_zmax
      
        
          | double InDetProjHelper::Imp::covercyl_zmax = 0.0 | 
        
      
 
 
◆ covercyl_zmin
      
        
          | double InDetProjHelper::Imp::covercyl_zmin = 0.0 | 
        
      
 
 
◆ data_disttosurface_epsilon
      
        
          | double InDetProjHelper::Imp::data_disttosurface_epsilon = 0.0 | 
        
      
 
 
◆ endcap_inner_radius
      
        
          | double InDetProjHelper::Imp::endcap_inner_radius = 0.0 | 
        
      
 
 
◆ endcap_outer_radius
      
        
          | double InDetProjHelper::Imp::endcap_outer_radius = 0.0 | 
        
      
 
 
◆ endcap_surface_length
      
        
          | double InDetProjHelper::Imp::endcap_surface_length = 0.0 | 
        
      
 
 
◆ endcap_surface_z
      
        
          | double InDetProjHelper::Imp::endcap_surface_z = 0.0 | 
        
      
 
 
◆ endcap_zasr_endcapz_begin
      
        
          | double InDetProjHelper::Imp::endcap_zasr_endcapz_begin = 0.0 | 
        
      
 
 
◆ endcap_zasr_innerradius
      
        
          | double InDetProjHelper::Imp::endcap_zasr_innerradius = 0.0 | 
        
      
 
 
◆ endcap_zasr_squeezefact
      
        
          | double InDetProjHelper::Imp::endcap_zasr_squeezefact = 0.0 | 
        
      
 
 
◆ parts
      
        
          | InDetProjFlags::InDetProjPartsFlags InDetProjHelper::Imp::parts | 
        
      
 
 
◆ surfacethickness
      
        
          | double InDetProjHelper::Imp::surfacethickness = 0.0 | 
        
      
 
 
◆ theclass
The documentation for this class was generated from the following file:
 
JetConstituentVector::iterator iterator
 
path
python interpreter configuration --------------------------------------—
 
InDetProjHelper * theclass
 
void messageDebug(const QString &) const
 
@ u
Enums for curvilinear frames.
 
void movePoint1ToZPlaneAndPoint2(Amg::Vector3D &p1, const Amg::Vector3D &p2, const double &z) const
 
double rVector3D(const Amg::Vector3D &v1)
Gets r-component in spherical coordinate system.
 
double endcap_zasr_innerradius
 
double endcap_zasr_squeezefact
 
bool clipSegmentToInfiniteHollowCylinder(Amg::Vector3D &a, Amg::Vector3D &b, const double &rmin, const double &rmax, Amg::Vector3D &seg2_a, Amg::Vector3D &seg2_b) const
 
static void transformECPointToZPlane_specialZtoR(Amg::Vector3D &p, const double &planeZ, const double &planeRBegin, const double &endcapZBegin, const double &squeezeFactor)
 
bool clipSegmentToHollowCylinder(Amg::Vector3D &a, Amg::Vector3D &b, const double &rmin, const double &rmax, const double &zmin, const double &zmax, Amg::Vector3D &seg2_a, Amg::Vector3D &seg2_b) const
 
void setVector3DCartesian(Amg::Vector3D &v1, double x1, double y1, double z1)
Sets components in cartesian coordinate system.
 
double endcap_zasr_endcapz_begin
 
Eigen::Matrix< double, 3, 1 > Vector3D
 
void message(const QString &) const
 
void lineCircleIntersection(const Amg::Vector3D &a, const Amg::Vector3D &b, const double &r, double &u1, double &u2) const
 
bool clipSegmentToZInterval(Amg::Vector3D &a, Amg::Vector3D &b, const double &zmin, const double &zmax) const