ATLAS Offline Software
SurfaceConsistencyCheck.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 namespace Trk{
6 
7  /*
8  consistentSurface function takes a variable number of pointer arguments and calls associatedSurface
9  on each one, and reports whether the result is the same (object equality) for all arguments.
10  caveats:
11  1) If an argument is a nullptr, it is ignored in the comparison
12  2) If only one argument is passed, the result is true
13  */
14 
15  template <typename U>
16  bool
18  return true;
19  }
20 
21  template <typename U, typename ...T>
22  bool
23  consistentSurfaces( U a, T...b){
24  if (a==nullptr) return (consistentSurfaces(b...));
25  return (((b!=nullptr)?(a->associatedSurface() == b->associatedSurface()):true) and ...);
26  }
27 
28 }
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
a
TList * a
Definition: liststreamerinfos.cxx:10
Trk::consistentSurfaces
bool consistentSurfaces(U)
Definition: SurfaceConsistencyCheck.h:17