test
CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Types | Private Member Functions | Private Attributes
Phase2OTEndcapRing Class Referencefinal

#include <Phase2OTEndcapRing.h>

Inheritance diagram for Phase2OTEndcapRing:
GeometricSearchDet

Public Member Functions

virtual const std::vector
< const GeomDet * > & 
basicComponents () const
 
virtual std::pair< bool,
TrajectoryStateOnSurface
compatible (const TrajectoryStateOnSurface &, const Propagator &, const MeasurementEstimator &) const
 
virtual const std::vector
< const GeometricSearchDet * > & 
components () const __attribute__((cold))
 Returns basic components, if any. More...
 
void groupedCompatibleDetsV (const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const __attribute__((hot))
 
 Phase2OTEndcapRing (std::vector< const GeomDet * > &innerDets, std::vector< const GeomDet * > &outerDets, std::vector< const GeomDet * > &innerDetBrothers, std::vector< const GeomDet * > &outerDetBrothers)
 
virtual const BoundDiskspecificSurface () const
 
virtual const BoundSurfacesurface () const
 The surface of the GeometricSearchDet. More...
 
 ~Phase2OTEndcapRing ()
 
- Public Member Functions inherited from GeometricSearchDet
virtual std::vector< DetWithStatecompatibleDets (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est) const
 
virtual void compatibleDetsV (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetWithState > &result) const
 
 GeometricSearchDet (bool doHaveGroups)
 
virtual std::vector< DetGroupgroupedCompatibleDets (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est) const
 
bool hasGroups () const
 
virtual const
Surface::PositionType
position () const
 Returns position of the surface. More...
 
virtual ~GeometricSearchDet ()
 

Private Types

typedef PeriodicBinFinderInPhi
< float > 
BinFinderType
 

Private Member Functions

bool addClosest (const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, std::vector< DetGroup > &result, std::vector< DetGroup > &brotherresult) const __attribute__((hot))
 
SubLayerCrossings computeCrossings (const TrajectoryStateOnSurface &tsos, PropagationDirection propDir) const __attribute__((hot))
 
void searchNeighbors (const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, float window, std::vector< DetGroup > &result, std::vector< DetGroup > &brotherresult, bool checkClosest) const __attribute__((hot))
 
const std::vector< const
GeomDet * > & 
subLayer (int ind) const
 
const std::vector< const
GeomDet * > & 
subLayerBrothers (int ind) const
 

Private Attributes

BinFinderType theBackBinFinder
 
std::vector< const GeomDet * > theBackDetBrothers
 
std::vector< const GeomDet * > theBackDets
 
ReferenceCountingPointer
< BoundDisk
theBackDisk
 
std::vector< const GeomDet * > theDets
 
ReferenceCountingPointer
< BoundDisk
theDisk
 
BinFinderType theFrontBinFinder
 
std::vector< const GeomDet * > theFrontDetBrothers
 
std::vector< const GeomDet * > theFrontDets
 
ReferenceCountingPointer
< BoundDisk
theFrontDisk
 

Additional Inherited Members

- Public Types inherited from GeometricSearchDet
typedef std::pair< const
GeomDet
*, TrajectoryStateOnSurface
DetWithState
 
typedef BoundSurface::PositionType PositionType
 
typedef BoundSurface::RotationType RotationType
 
typedef TrajectoryStateOnSurface TrajectoryState
 
- Protected Attributes inherited from GeometricSearchDet
bool haveGroups
 
GeomDetCompatibilityChecker theCompatibilityChecker
 

Detailed Description

A concrete implementation for TID rings

Definition at line 14 of file Phase2OTEndcapRing.h.

Member Typedef Documentation

Definition at line 85 of file Phase2OTEndcapRing.h.

Constructor & Destructor Documentation

Phase2OTEndcapRing::Phase2OTEndcapRing ( std::vector< const GeomDet * > &  innerDets,
std::vector< const GeomDet * > &  outerDets,
std::vector< const GeomDet * > &  innerDetBrothers,
std::vector< const GeomDet * > &  outerDetBrothers 
)

Definition at line 25 of file Phase2OTEndcapRing.cc.

References LogDebug, theBackBinFinder, theBackDetBrothers, theBackDets, theBackDisk, theDets, theDisk, theFrontBinFinder, theFrontDetBrothers, theFrontDets, and theFrontDisk.

28  :
29  GeometricSearchDet(true),
30  theFrontDets(innerDets.begin(),innerDets.end()),
31  theBackDets(outerDets.begin(),outerDets.end()),
32  theFrontDetBrothers(innerDetBrothers.begin(),innerDetBrothers.end()),
33  theBackDetBrothers(outerDetBrothers.begin(),outerDetBrothers.end())
34 {
35  theDets.assign(theFrontDets.begin(),theFrontDets.end());
36  theDets.insert(theDets.end(),theBackDets.begin(),theBackDets.end());
37  theDets.insert(theDets.end(),theFrontDetBrothers.begin(),theFrontDetBrothers.end());
38  theDets.insert(theDets.end(),theBackDetBrothers.begin(),theBackDetBrothers.end());
39 
40 
41  // the dets should be already phi-ordered. TO BE CHECKED
42  //sort( theFrontDets.begin(), theFrontDets.end(), DetLessPhi() );
43  //sort( theBackDets.begin(), theBackDets.end(), DetLessPhi() );
44 
46 
49 
50  theFrontBinFinder = BinFinderType( theFrontDets.front()->surface().position().phi(),
51  theFrontDets.size());
52  theBackBinFinder = BinFinderType( theBackDets.front()->surface().position().phi(),
53  theBackDets.size());
54 
55 
56 
57  LogDebug("TkDetLayers") << "DEBUG INFO for Phase2OTEndcapRing" ;
58  for(vector<const GeomDet*>::const_iterator it=theFrontDets.begin();
59  it!=theFrontDets.end(); it++){
60  LogDebug("TkDetLayers") << "frontDet phi,z,r: "
61  << (*it)->surface().position().phi() << " , "
62  << (*it)->surface().position().z() << " , "
63  << (*it)->surface().position().perp() ;
64  }
65 
66  for(vector<const GeomDet*>::const_iterator it=theBackDets.begin();
67  it!=theBackDets.end(); it++){
68  LogDebug("TkDetLayers") << "backDet phi,z,r: "
69  << (*it)->surface().position().phi() << " , "
70  << (*it)->surface().position().z() << " , "
71  << (*it)->surface().position().perp() ;
72  }
73 
74 
75 }
#define LogDebug(id)
std::vector< const GeomDet * > theFrontDetBrothers
std::vector< const GeomDet * > theBackDetBrothers
GeometricSearchDet(bool doHaveGroups)
ReferenceCountingPointer< BoundDisk > theDisk
std::vector< const GeomDet * > theDets
std::vector< const GeomDet * > theBackDets
BinFinderType theBackBinFinder
std::vector< const GeomDet * > theFrontDets
BinFinderType theFrontBinFinder
ReferenceCountingPointer< BoundDisk > theBackDisk
PeriodicBinFinderInPhi< float > BinFinderType
ReferenceCountingPointer< BoundDisk > theFrontDisk
Phase2OTEndcapRing::~Phase2OTEndcapRing ( )

Definition at line 77 of file Phase2OTEndcapRing.cc.

77  {
78 
79 }

Member Function Documentation

bool Phase2OTEndcapRing::addClosest ( const TrajectoryStateOnSurface tsos,
const Propagator prop,
const MeasurementEstimator est,
const SubLayerCrossing crossing,
std::vector< DetGroup > &  result,
std::vector< DetGroup > &  brotherresult 
) const
private

Definition at line 178 of file Phase2OTEndcapRing.cc.

References CompatibleDetToGroupAdder::add(), SubLayerCrossing::closestDetIndex(), subLayer(), subLayerBrothers(), and SubLayerCrossing::subLayerIndex().

Referenced by groupedCompatibleDetsV().

184 {
185  const vector<const GeomDet*>& sub( subLayer( crossing.subLayerIndex()));
186  const GeomDet* det(sub[crossing.closestDetIndex()]);
187  bool firstgroup = CompatibleDetToGroupAdder::add( *det, tsos, prop, est, result);
188  // it assumes that the closestDetIndex is ok also for the brother detectors: the crossing is NOT recomputed
189  const vector<const GeomDet*>& subBrothers( subLayerBrothers( crossing.subLayerIndex()));
190  const GeomDet* detBrother(subBrothers[crossing.closestDetIndex()]);
191  bool brothergroup = CompatibleDetToGroupAdder::add( *detBrother, tsos, prop, est, brotherresult);
192  return firstgroup || brothergroup;
193 }
int closestDetIndex() const
tuple result
Definition: mps_fire.py:83
const std::vector< const GeomDet * > & subLayer(int ind) const
int subLayerIndex() const
const std::vector< const GeomDet * > & subLayerBrothers(int ind) const
static bool add(const GeometricSearchDet &det, const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) __attribute__((hot))
virtual const std::vector<const GeomDet*>& Phase2OTEndcapRing::basicComponents ( ) const
inlinevirtual

Implements GeometricSearchDet.

Definition at line 25 of file Phase2OTEndcapRing.h.

References theDets.

25 {return theDets;}
std::vector< const GeomDet * > theDets
pair< bool, TrajectoryStateOnSurface > Phase2OTEndcapRing::compatible ( const TrajectoryStateOnSurface ts,
const Propagator ,
const MeasurementEstimator  
) const
virtual

tests the geometrical compatibility of the Det with the predicted state. The FreeTrajectoryState argument is propagated to the Det surface using the Propagator argument. The resulting TrajectoryStateOnSurface is tested for compatibility with the surface bounds. If compatible, a std::pair< true, propagatedState> is returned. If the propagation fails, or if the state is not compatible, a std::pair< false, propagatedState> is returned.

Implements GeometricSearchDet.

Definition at line 89 of file Phase2OTEndcapRing.cc.

90  {
91  edm::LogError("TkDetLayers") << "temporary dummy implementation of Phase2OTEndcapRing::compatible()!!" ;
92  return pair<bool,TrajectoryStateOnSurface>();
93 }
const vector< const GeometricSearchDet * > & Phase2OTEndcapRing::components ( ) const
virtual

Returns basic components, if any.

Returns direct components, if any

Implements GeometricSearchDet.

Definition at line 82 of file Phase2OTEndcapRing.cc.

83 {
84  throw DetLayerException("Phase2OTEndcapRing doesn't have GeometricSearchDet components");
85 }
Common base class.
SubLayerCrossings Phase2OTEndcapRing::computeCrossings ( const TrajectoryStateOnSurface tsos,
PropagationDirection  propDir 
) const
private

Definition at line 138 of file Phase2OTEndcapRing.cc.

References funct::abs(), PeriodicBinFinderInPhi< T >::binIndex(), SiPixelRawToDigiRegional_cfi::deltaPhi, TrajectoryStateOnSurface::globalMomentum(), TrajectoryStateOnSurface::globalPosition(), rho, theBackBinFinder, theBackDets, theBackDisk, theFrontBinFinder, theFrontDets, theFrontDisk, and TrajectoryStateOnSurface::transverseCurvature().

Referenced by groupedCompatibleDetsV().

140 {
141  auto rho = startingState.transverseCurvature();
142 
143  HelixPlaneCrossing::PositionType startPos( startingState.globalPosition() );
144  HelixPlaneCrossing::DirectionType startDir( startingState.globalMomentum() );
145  HelixForwardPlaneCrossing crossing(startPos,startDir,rho,propDir);
146 
147  pair<bool,double> frontPath = crossing.pathLength( *theFrontDisk);
148  if (!frontPath.first) return SubLayerCrossings();
149 
150  pair<bool,double> backPath = crossing.pathLength( *theBackDisk);
151  if (!backPath.first) return SubLayerCrossings();
152 
153  GlobalPoint gFrontPoint(crossing.position(frontPath.second));
154  GlobalPoint gBackPoint( crossing.position(backPath.second));
155 
156  int frontIndex = theFrontBinFinder.binIndex(gFrontPoint.barePhi());
157  SubLayerCrossing frontSLC( 0, frontIndex, gFrontPoint);
158 
159  int backIndex = theBackBinFinder.binIndex(gBackPoint.barePhi());
160  SubLayerCrossing backSLC( 1, backIndex, gBackPoint);
161 
162 
163  // 0ss: frontDisk has index=0, backDisk has index=1
164  float frontDist = std::abs(Geom::deltaPhi( gFrontPoint.barePhi(),
165  theFrontDets[frontIndex]->surface().phi()));
166  float backDist = std::abs(Geom::deltaPhi( gBackPoint.barePhi(),
167  theBackDets[backIndex]->surface().phi()));
168 
169 
170  if (frontDist < backDist) {
171  return SubLayerCrossings( frontSLC, backSLC, 0);
172  }
173  else {
174  return SubLayerCrossings( backSLC, frontSLC, 1);
175  }
176 }
virtual int binIndex(T phi) const
returns an index in the valid range for the bin that contains phi
std::vector< const GeomDet * > theBackDets
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
BinFinderType theBackBinFinder
std::vector< const GeomDet * > theFrontDets
BinFinderType theFrontBinFinder
ReferenceCountingPointer< BoundDisk > theBackDisk
ReferenceCountingPointer< BoundDisk > theFrontDisk
void Phase2OTEndcapRing::groupedCompatibleDetsV ( const TrajectoryStateOnSurface tsos,
const Propagator prop,
const MeasurementEstimator est,
std::vector< DetGroup > &  result 
) const
virtual

Reimplemented from GeometricSearchDet.

Definition at line 98 of file Phase2OTEndcapRing.cc.

References addClosest(), SubLayerCrossings::closest(), SubLayerCrossings::closestIndex(), computeCrossings(), tkDetUtil::computeWindowSize(), LayerCrossingSide::endcapSide(), SubLayerCrossings::isValid(), eostools::move(), DetGroupMerger::orderAndMergeTwoLevels(), SubLayerCrossings::other(), Propagator::propagationDirection(), and searchNeighbors().

Referenced by Phase2OTEndcapLayer::groupedCompatibleDetsV().

102 {
103  SubLayerCrossings crossings;
104  crossings = computeCrossings( tsos, prop.propagationDirection());
105  if(! crossings.isValid()) return;
106 
107 
108  std::vector<DetGroup> closestResult;
109  std::vector<DetGroup> closestBrotherResult;
110  addClosest( tsos, prop, est, crossings.closest(), closestResult,closestBrotherResult);
111  if (closestResult.empty()) return;
112 
113  DetGroupElement closestGel( closestResult.front().front());
114  int crossingSide = LayerCrossingSide().endcapSide( closestGel.trajectoryState(), prop);
115  float phiWindow = tkDetUtil::computeWindowSize( closestGel.det(), closestGel.trajectoryState(), est);
116  searchNeighbors( tsos, prop, est, crossings.closest(), phiWindow,
117  closestResult, closestBrotherResult, false);
118 
119  vector<DetGroup> closestCompleteResult;
120  DetGroupMerger::orderAndMergeTwoLevels(std::move(closestResult),std::move(closestBrotherResult),closestCompleteResult,
121  0, crossingSide);
122 
123  vector<DetGroup> nextResult;
124  vector<DetGroup> nextBrotherResult;
125  searchNeighbors( tsos, prop, est, crossings.other(), phiWindow,
126  nextResult, nextBrotherResult, true);
127 
128  vector<DetGroup> nextCompleteResult;
129  DetGroupMerger::orderAndMergeTwoLevels(std::move(nextResult),std::move(nextBrotherResult),nextCompleteResult,
130  0, crossingSide);
131 
132  DetGroupMerger::orderAndMergeTwoLevels( std::move(closestCompleteResult), std::move(nextCompleteResult), result,
133  crossings.closestIndex(), crossingSide);
134 }
int closestIndex() const
virtual PropagationDirection propagationDirection() const final
Definition: Propagator.h:151
bool addClosest(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, std::vector< DetGroup > &result, std::vector< DetGroup > &brotherresult) const __attribute__((hot))
void searchNeighbors(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, float window, std::vector< DetGroup > &result, std::vector< DetGroup > &brotherresult, bool checkClosest) const __attribute__((hot))
tuple result
Definition: mps_fire.py:83
float computeWindowSize(const GeomDet *det, const TrajectoryStateOnSurface &tsos, const MeasurementEstimator &est)
Definition: TkDetUtil.cc:9
def move
Definition: eostools.py:510
static int endcapSide(const TrajectoryStateOnSurface &startingState, const Propagator &prop)
const SubLayerCrossing & other() const
const SubLayerCrossing & closest() const
static void orderAndMergeTwoLevels(std::vector< DetGroup > &&one, std::vector< DetGroup > &&two, std::vector< DetGroup > &result, int firstIndex, int firstCrossed)
SubLayerCrossings computeCrossings(const TrajectoryStateOnSurface &tsos, PropagationDirection propDir) const __attribute__((hot))
void Phase2OTEndcapRing::searchNeighbors ( const TrajectoryStateOnSurface tsos,
const Propagator prop,
const MeasurementEstimator est,
const SubLayerCrossing crossing,
float  window,
std::vector< DetGroup > &  result,
std::vector< DetGroup > &  brotherresult,
bool  checkClosest 
) const
private

Definition at line 197 of file Phase2OTEndcapRing.cc.

References Clusterizer1DCommons::add(), PV3DBase< T, PVType, FrameType >::barePhi(), PeriodicBinFinderInPhi< T >::binIndex(), SubLayerCrossing::closestDetIndex(), tkDetUtil::overlapInPhi(), Geom::phiLess(), SubLayerCrossing::position(), subLayer(), subLayerBrothers(), SubLayerCrossing::subLayerIndex(), theBackBinFinder, and theFrontBinFinder.

Referenced by groupedCompatibleDetsV().

205 {
206  GlobalPoint gCrossingPos = crossing.position();
207 
208  const vector<const GeomDet*>& sLayer( subLayer( crossing.subLayerIndex()));
209  // It assumes that what is ok for the front modules in the pt modules is ok also for the back module
210  const vector<const GeomDet*>& sBrotherLayer( subLayerBrothers( crossing.subLayerIndex()));
211 
212  int closestIndex = crossing.closestDetIndex();
213  int negStartIndex = closestIndex-1;
214  int posStartIndex = closestIndex+1;
215 
216  if (checkClosest) { // must decide if the closest is on the neg or pos side
217  if ( Geom::phiLess( gCrossingPos.barePhi(), sLayer[closestIndex]->surface().phi())) {
218  posStartIndex = closestIndex;
219  }
220  else {
221  negStartIndex = closestIndex;
222  }
223  }
224 
225  const BinFinderType& binFinder = (crossing.subLayerIndex()==0 ? theFrontBinFinder : theBackBinFinder);
226 
227  typedef CompatibleDetToGroupAdder Adder;
228  int half = sLayer.size()/2; // to check if dets are called twice....
229  for (int idet=negStartIndex; idet >= negStartIndex - half; idet--) {
230  const GeomDet & neighborDet = *sLayer[binFinder.binIndex(idet)];
231  if (!tkDetUtil::overlapInPhi( gCrossingPos, neighborDet, window)) break;
232  if (!Adder::add( neighborDet, tsos, prop, est, result)) break;
233  // If the two above checks are passed also the brother module will be added with no further checks
234  const GeomDet & neighborBrotherDet = *sBrotherLayer[binFinder.binIndex(idet)];
235  Adder::add( neighborBrotherDet, tsos, prop, est, brotherresult);
236  // maybe also add shallow crossing angle test here???
237  }
238  for (int idet=posStartIndex; idet < posStartIndex + half; idet++) {
239  const GeomDet & neighborDet = *sLayer[binFinder.binIndex(idet)];
240  if (!tkDetUtil::overlapInPhi( gCrossingPos, neighborDet, window)) break;
241  if (!Adder::add( neighborDet, tsos, prop, est, result)) break;
242  // If the two above checks are passed also the brother module will be added with no further checks
243  const GeomDet & neighborBrotherDet = *sBrotherLayer[binFinder.binIndex(idet)];
244  Adder::add( neighborBrotherDet, tsos, prop, est, brotherresult);
245  // maybe also add shallow crossing angle test here???
246  }
247 }
def window
Definition: svgfig.py:642
int closestDetIndex() const
void add(const std::vector< const T * > &source, std::vector< const T * > &dest)
bool overlapInPhi(float phi, const GeomDet &det, float phiWindow)
Definition: TkDetUtil.h:19
tuple result
Definition: mps_fire.py:83
const GlobalPoint & position() const
T barePhi() const
Definition: PV3DBase.h:68
const std::vector< const GeomDet * > & subLayer(int ind) const
int subLayerIndex() const
const std::vector< const GeomDet * > & subLayerBrothers(int ind) const
BinFinderType theBackBinFinder
bool phiLess(float phi1, float phi2)
Definition: VectorUtil.h:23
BinFinderType theFrontBinFinder
PeriodicBinFinderInPhi< float > BinFinderType
virtual const BoundDisk& Phase2OTEndcapRing::specificSurface ( ) const
inlinevirtual

Definition at line 40 of file Phase2OTEndcapRing.h.

References theDisk.

40 {return *theDisk;}
ReferenceCountingPointer< BoundDisk > theDisk
const std::vector<const GeomDet*>& Phase2OTEndcapRing::subLayer ( int  ind) const
inlineprivate

Definition at line 65 of file Phase2OTEndcapRing.h.

References theBackDets, and theFrontDets.

Referenced by addClosest(), and searchNeighbors().

65  {
66  return (ind==0 ? theFrontDets : theBackDets);
67  }
std::vector< const GeomDet * > theBackDets
std::vector< const GeomDet * > theFrontDets
const std::vector<const GeomDet*>& Phase2OTEndcapRing::subLayerBrothers ( int  ind) const
inlineprivate

Definition at line 69 of file Phase2OTEndcapRing.h.

References theBackDetBrothers, and theFrontDetBrothers.

Referenced by addClosest(), and searchNeighbors().

69  {
70  return (ind==0 ? theFrontDetBrothers : theBackDetBrothers);
71  }
std::vector< const GeomDet * > theFrontDetBrothers
std::vector< const GeomDet * > theBackDetBrothers
virtual const BoundSurface& Phase2OTEndcapRing::surface ( ) const
inlinevirtual

The surface of the GeometricSearchDet.

Implements GeometricSearchDet.

Definition at line 23 of file Phase2OTEndcapRing.h.

References theDisk.

Referenced by Phase2OTEndcapLayer::ringIndicesByCrossingProximity().

23 {return *theDisk;}
ReferenceCountingPointer< BoundDisk > theDisk

Member Data Documentation

BinFinderType Phase2OTEndcapRing::theBackBinFinder
private

Definition at line 88 of file Phase2OTEndcapRing.h.

Referenced by computeCrossings(), Phase2OTEndcapRing(), and searchNeighbors().

std::vector<const GeomDet*> Phase2OTEndcapRing::theBackDetBrothers
private

Definition at line 79 of file Phase2OTEndcapRing.h.

Referenced by Phase2OTEndcapRing(), and subLayerBrothers().

std::vector<const GeomDet*> Phase2OTEndcapRing::theBackDets
private

Definition at line 77 of file Phase2OTEndcapRing.h.

Referenced by computeCrossings(), Phase2OTEndcapRing(), and subLayer().

ReferenceCountingPointer<BoundDisk> Phase2OTEndcapRing::theBackDisk
private

Definition at line 83 of file Phase2OTEndcapRing.h.

Referenced by computeCrossings(), and Phase2OTEndcapRing().

std::vector<const GeomDet*> Phase2OTEndcapRing::theDets
private

Definition at line 75 of file Phase2OTEndcapRing.h.

Referenced by basicComponents(), and Phase2OTEndcapRing().

ReferenceCountingPointer<BoundDisk> Phase2OTEndcapRing::theDisk
private

Definition at line 81 of file Phase2OTEndcapRing.h.

Referenced by Phase2OTEndcapRing(), specificSurface(), and surface().

BinFinderType Phase2OTEndcapRing::theFrontBinFinder
private

Definition at line 87 of file Phase2OTEndcapRing.h.

Referenced by computeCrossings(), Phase2OTEndcapRing(), and searchNeighbors().

std::vector<const GeomDet*> Phase2OTEndcapRing::theFrontDetBrothers
private

Definition at line 78 of file Phase2OTEndcapRing.h.

Referenced by Phase2OTEndcapRing(), and subLayerBrothers().

std::vector<const GeomDet*> Phase2OTEndcapRing::theFrontDets
private

Definition at line 76 of file Phase2OTEndcapRing.h.

Referenced by computeCrossings(), Phase2OTEndcapRing(), and subLayer().

ReferenceCountingPointer<BoundDisk> Phase2OTEndcapRing::theFrontDisk
private

Definition at line 82 of file Phase2OTEndcapRing.h.

Referenced by computeCrossings(), and Phase2OTEndcapRing().