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
Phase2OTECRing Class Reference

#include <Phase2OTECRing.h>

Inheritance diagram for Phase2OTECRing:
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))
 
 Phase2OTECRing (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...
 
 ~Phase2OTECRing ()
 
- 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 Phase2OTECRing.h.

Member Typedef Documentation

Definition at line 85 of file Phase2OTECRing.h.

Constructor & Destructor Documentation

Phase2OTECRing::Phase2OTECRing ( 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 Phase2OTECRing.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 Phase2OTECRing" ;
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)
BinFinderType theFrontBinFinder
std::vector< const GeomDet * > theBackDetBrothers
ReferenceCountingPointer< BoundDisk > theFrontDisk
BinFinderType theBackBinFinder
PeriodicBinFinderInPhi< float > BinFinderType
std::vector< const GeomDet * > theFrontDetBrothers
GeometricSearchDet(bool doHaveGroups)
ReferenceCountingPointer< BoundDisk > theBackDisk
std::vector< const GeomDet * > theFrontDets
std::vector< const GeomDet * > theBackDets
std::vector< const GeomDet * > theDets
ReferenceCountingPointer< BoundDisk > theDisk
Phase2OTECRing::~Phase2OTECRing ( )

Definition at line 77 of file Phase2OTECRing.cc.

77  {
78 
79 }

Member Function Documentation

bool Phase2OTECRing::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 Phase2OTECRing.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
const std::vector< const GeomDet * > & subLayer(int ind) const
int subLayerIndex() const
tuple result
Definition: query.py:137
static bool add(const GeometricSearchDet &det, const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) __attribute__((hot))
const std::vector< const GeomDet * > & subLayerBrothers(int ind) const
virtual const std::vector<const GeomDet*>& Phase2OTECRing::basicComponents ( ) const
inlinevirtual

Implements GeometricSearchDet.

Definition at line 25 of file Phase2OTECRing.h.

References theDets.

25 {return theDets;}
std::vector< const GeomDet * > theDets
pair< bool, TrajectoryStateOnSurface > Phase2OTECRing::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 Phase2OTECRing.cc.

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

Returns basic components, if any.

Returns direct components, if any

Implements GeometricSearchDet.

Definition at line 82 of file Phase2OTECRing.cc.

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

Definition at line 138 of file Phase2OTECRing.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 }
BinFinderType theFrontBinFinder
ReferenceCountingPointer< BoundDisk > theFrontDisk
BinFinderType theBackBinFinder
ReferenceCountingPointer< BoundDisk > theBackDisk
virtual int binIndex(T phi) const
returns an index in the valid range for the bin that contains phi
std::vector< const GeomDet * > theFrontDets
std::vector< const GeomDet * > theBackDets
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
void Phase2OTECRing::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 Phase2OTECRing.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 Phase2OTECRingedLayer::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 }
virtual PropagationDirection propagationDirection() const
Definition: Propagator.h:155
int closestIndex() const
float computeWindowSize(const GeomDet *det, const TrajectoryStateOnSurface &tsos, const MeasurementEstimator &est)
Definition: TkDetUtil.cc:10
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))
tuple result
Definition: query.py:137
def move
Definition: eostools.py:510
static int endcapSide(const TrajectoryStateOnSurface &startingState, const Propagator &prop)
const SubLayerCrossing & other() const
const SubLayerCrossing & closest() const
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))
static void orderAndMergeTwoLevels(std::vector< DetGroup > &&one, std::vector< DetGroup > &&two, std::vector< DetGroup > &result, int firstIndex, int firstCrossed)
void Phase2OTECRing::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 Phase2OTECRing.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 }
BinFinderType theFrontBinFinder
def window
Definition: svgfig.py:642
int closestDetIndex() const
const std::vector< const GeomDet * > & subLayer(int ind) const
BinFinderType theBackBinFinder
void add(const std::vector< const T * > &source, std::vector< const T * > &dest)
PeriodicBinFinderInPhi< float > BinFinderType
bool overlapInPhi(float phi, const GeomDet &det, float phiWindow)
Definition: TkDetUtil.h:19
const GlobalPoint & position() const
T barePhi() const
Definition: PV3DBase.h:68
int subLayerIndex() const
tuple result
Definition: query.py:137
bool phiLess(float phi1, float phi2)
Definition: VectorUtil.h:23
const std::vector< const GeomDet * > & subLayerBrothers(int ind) const
virtual const BoundDisk& Phase2OTECRing::specificSurface ( ) const
inlinevirtual

Definition at line 40 of file Phase2OTECRing.h.

References theDisk.

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

Definition at line 65 of file Phase2OTECRing.h.

References theBackDets, and theFrontDets.

Referenced by addClosest(), and searchNeighbors().

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

Definition at line 69 of file Phase2OTECRing.h.

References theBackDetBrothers, and theFrontDetBrothers.

Referenced by addClosest(), and searchNeighbors().

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

The surface of the GeometricSearchDet.

Implements GeometricSearchDet.

Definition at line 23 of file Phase2OTECRing.h.

References theDisk.

Referenced by Phase2OTECRingedLayer::ringIndicesByCrossingProximity().

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

Member Data Documentation

BinFinderType Phase2OTECRing::theBackBinFinder
private

Definition at line 88 of file Phase2OTECRing.h.

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

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

Definition at line 79 of file Phase2OTECRing.h.

Referenced by Phase2OTECRing(), and subLayerBrothers().

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

Definition at line 77 of file Phase2OTECRing.h.

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

ReferenceCountingPointer<BoundDisk> Phase2OTECRing::theBackDisk
private

Definition at line 83 of file Phase2OTECRing.h.

Referenced by computeCrossings(), and Phase2OTECRing().

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

Definition at line 75 of file Phase2OTECRing.h.

Referenced by basicComponents(), and Phase2OTECRing().

ReferenceCountingPointer<BoundDisk> Phase2OTECRing::theDisk
private

Definition at line 81 of file Phase2OTECRing.h.

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

BinFinderType Phase2OTECRing::theFrontBinFinder
private

Definition at line 87 of file Phase2OTECRing.h.

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

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

Definition at line 78 of file Phase2OTECRing.h.

Referenced by Phase2OTECRing(), and subLayerBrothers().

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

Definition at line 76 of file Phase2OTECRing.h.

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

ReferenceCountingPointer<BoundDisk> Phase2OTECRing::theFrontDisk
private

Definition at line 82 of file Phase2OTECRing.h.

Referenced by computeCrossings(), and Phase2OTECRing().