CMS 3D CMS Logo

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

#include <Phase2OTBarrelRod.h>

Inheritance diagram for Phase2OTBarrelRod:
DetRod GeometricSearchDet

Public Types

typedef GenericBinFinderInZ
< float, GeomDet
BinFinderType
 
- Public Types inherited from GeometricSearchDet
typedef std::pair< const
GeomDet
*, TrajectoryStateOnSurface
DetWithState
 
typedef BoundSurface::PositionType PositionType
 
typedef BoundSurface::RotationType RotationType
 
typedef TrajectoryStateOnSurface TrajectoryState
 

Public Member Functions

virtual const std::vector
< const GeomDet * > & 
basicComponents () const
 
virtual std::pair< bool,
TrajectoryStateOnSurface
compatible (const TrajectoryStateOnSurface &ts, const Propagator &, const MeasurementEstimator &) const __attribute__((cold))
 
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))
 
 Phase2OTBarrelRod (std::vector< const GeomDet * > &innerDets, std::vector< const GeomDet * > &outerDets, std::vector< const GeomDet * > &innerDetBrothers, std::vector< const GeomDet * > &outerDetBrothers) __attribute__((cold))
 
 ~Phase2OTBarrelRod () __attribute__((cold))
 
- Public Member Functions inherited from DetRod
virtual const PlanespecificSurface () const final
 Return the rod surface as a Plane. More...
 
virtual const BoundSurfacesurface () const final
 The surface of the GeometricSearchDet. More...
 
virtual ~DetRod ()
 
- 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 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))
 
float computeWindowSize (const GeomDet *det, const TrajectoryStateOnSurface &tsos, const MeasurementEstimator &est) 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 * > & 
subRod (int ind) const
 
const std::vector< const
GeomDet * > & 
subRodBrothers (int ind) const
 

Private Attributes

std::vector< const GeomDet * > theDets
 
BinFinderType theInnerBinFinder
 
std::vector< const GeomDet * > theInnerDetBrothers
 
std::vector< const GeomDet * > theInnerDets
 
ReferenceCountingPointer< PlanetheInnerPlane
 
BinFinderType theOuterBinFinder
 
std::vector< const GeomDet * > theOuterDetBrothers
 
std::vector< const GeomDet * > theOuterDets
 
ReferenceCountingPointer< PlanetheOuterPlane
 

Additional Inherited Members

- Protected Member Functions inherited from DetRod
void setPlane (Plane *plane)
 Set the rod's plane. More...
 
- Protected Attributes inherited from GeometricSearchDet
bool haveGroups
 
GeomDetCompatibilityChecker theCompatibilityChecker
 

Detailed Description

A concrete implementation for TOB Rod

Definition at line 16 of file Phase2OTBarrelRod.h.

Member Typedef Documentation

Definition at line 18 of file Phase2OTBarrelRod.h.

Constructor & Destructor Documentation

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

Definition at line 30 of file Phase2OTBarrelRod.cc.

References i, LogDebug, DetRod::setPlane(), theDets, theInnerBinFinder, theInnerDetBrothers, theInnerDets, theInnerPlane, theOuterBinFinder, theOuterDetBrothers, theOuterDets, and theOuterPlane.

33  :
34  DetRod(true),
35  theInnerDets(innerDets),theOuterDets(outerDets),theInnerDetBrothers(innerDetBrothers),theOuterDetBrothers(outerDetBrothers)
36 {
37  theDets.assign(theInnerDets.begin(),theInnerDets.end());
38  theDets.insert(theDets.end(),theOuterDets.begin(),theOuterDets.end());
39  theDets.insert(theDets.end(),theInnerDetBrothers.begin(),theInnerDetBrothers.end());
40  theDets.insert(theDets.end(),theOuterDetBrothers.begin(),theOuterDetBrothers.end());
41 
42 
43  RodPlaneBuilderFromDet planeBuilder;
44  setPlane( planeBuilder( theDets));
45  theInnerPlane = planeBuilder( theInnerDets);
46  theOuterPlane = planeBuilder( theOuterDets);
47 
48  // modules be already sorted in z
49 
52 
53 
54 
55  LogDebug("TkDetLayers") << "==== DEBUG Phase2OTBarrelRod =====" ;
56  for (vector<const GeomDet*>::const_iterator i=theInnerDets.begin();
57  i != theInnerDets.end(); i++){
58  LogDebug("TkDetLayers") << "inner Phase2OTBarrelRod's Det pos z,perp,eta,phi: "
59  << (**i).position().z() << " , "
60  << (**i).position().perp() << " , "
61  << (**i).position().eta() << " , "
62  << (**i).position().phi() ;
63  }
64 
65  for (vector<const GeomDet*>::const_iterator i=theInnerDetBrothers.begin();
66  i != theInnerDetBrothers.end(); i++){
67  LogDebug("TkDetLayers") << "inner Phase2OTBarrelRod's Det Brother pos z,perp,eta,phi: "
68  << (**i).position().z() << " , "
69  << (**i).position().perp() << " , "
70  << (**i).position().eta() << " , "
71  << (**i).position().phi() ;
72  }
73 
74  for (vector<const GeomDet*>::const_iterator i=theOuterDets.begin();
75  i != theOuterDets.end(); i++){
76  LogDebug("TkDetLayers") << "outer Phase2OTBarrelRod's Det pos z,perp,eta,phi: "
77  << (**i).position().z() << " , "
78  << (**i).position().perp() << " , "
79  << (**i).position().eta() << " , "
80  << (**i).position().phi() ;
81  }
82 
83  for (vector<const GeomDet*>::const_iterator i=theOuterDetBrothers.begin();
84  i != theOuterDetBrothers.end(); i++){
85  LogDebug("TkDetLayers") << "outer Phase2OTBarrelRod's Det Brother pos z,perp,eta,phi: "
86  << (**i).position().z() << " , "
87  << (**i).position().perp() << " , "
88  << (**i).position().eta() << " , "
89  << (**i).position().phi() ;
90  }
91  LogDebug("TkDetLayers") << "==== end DEBUG Phase2OTBarrelRod =====" ;
92 
93 
94 
95 }
#define LogDebug(id)
int i
Definition: DBlmapReader.cc:9
BinFinderType theOuterBinFinder
std::vector< const GeomDet * > theDets
BinFinderType theInnerBinFinder
std::vector< const GeomDet * > theOuterDetBrothers
GenericBinFinderInZ< float, GeomDet > BinFinderType
Definition: DetRod.h:13
ReferenceCountingPointer< Plane > theOuterPlane
void setPlane(Plane *plane)
Set the rod&#39;s plane.
Definition: DetRod.h:32
ReferenceCountingPointer< Plane > theInnerPlane
std::vector< const GeomDet * > theOuterDets
std::vector< const GeomDet * > theInnerDets
std::vector< const GeomDet * > theInnerDetBrothers
Phase2OTBarrelRod::~Phase2OTBarrelRod ( )

Definition at line 97 of file Phase2OTBarrelRod.cc.

97  {
98 
99 }

Member Function Documentation

bool Phase2OTBarrelRod::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 228 of file Phase2OTBarrelRod.cc.

References CompatibleDetToGroupAdder::add(), SubLayerCrossing::closestDetIndex(), query::result, SubLayerCrossing::subLayerIndex(), subRod(), and subRodBrothers().

Referenced by groupedCompatibleDetsV().

234 {
235 
236  const vector<const GeomDet*>& sRod( subRod( crossing.subLayerIndex()));
237  bool firstgroup = CompatibleDetToGroupAdder::add( *sRod[crossing.closestDetIndex()],
238  tsos, prop, est, result);
239  // it assumes that the closestDetIndex is ok also for the brother detectors: the crossing is NOT recomputed
240  const vector<const GeomDet*>& sRodBrothers( subRodBrothers( crossing.subLayerIndex()));
241  bool brothergroup = CompatibleDetToGroupAdder::add( *sRodBrothers[crossing.closestDetIndex()],
242  tsos, prop, est, brotherresult);
243 
244  return firstgroup || brothergroup;
245 }
int closestDetIndex() 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 * > & subRodBrothers(int ind) const
const std::vector< const GeomDet * > & subRod(int ind) const
virtual const std::vector<const GeomDet*>& Phase2OTBarrelRod::basicComponents ( ) const
inlinevirtual

Implements GeometricSearchDet.

Definition at line 28 of file Phase2OTBarrelRod.h.

References theDets.

28 {return theDets;}
std::vector< const GeomDet * > theDets
pair< bool, TrajectoryStateOnSurface > Phase2OTBarrelRod::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 108 of file Phase2OTBarrelRod.cc.

109  {
110  edm::LogError("TkDetLayers") << "temporary dummy implementation of Phase2OTBarrelRod::compatible()!!" ;
111  return pair<bool,TrajectoryStateOnSurface>();
112 }
const vector< const GeometricSearchDet * > & Phase2OTBarrelRod::components ( ) const
virtual

Returns basic components, if any.

Returns direct components, if any

Implements GeometricSearchDet.

Definition at line 103 of file Phase2OTBarrelRod.cc.

103  {
104  throw DetLayerException("Phase2OTBarrelRod doesn't have GeometricSearchDet components");
105 }
Common base class.
SubLayerCrossings Phase2OTBarrelRod::computeCrossings ( const TrajectoryStateOnSurface tsos,
PropagationDirection  propDir 
) const
private

Definition at line 189 of file Phase2OTBarrelRod.cc.

References funct::abs(), GenericBinFinderInZ< T, G >::binIndex(), GenericBinFinderInZ< T, G >::binPosition(), TrajectoryStateOnSurface::globalMomentum(), TrajectoryStateOnSurface::globalPosition(), rho, theInnerBinFinder, theInnerPlane, theOuterBinFinder, theOuterPlane, and TrajectoryStateOnSurface::transverseCurvature().

Referenced by groupedCompatibleDetsV().

191 {
192  GlobalPoint startPos( startingState.globalPosition());
193  GlobalVector startDir( startingState.globalMomentum());
194  double rho( startingState.transverseCurvature());
195 
196  HelixBarrelPlaneCrossingByCircle crossing( startPos, startDir, rho, propDir);
197 
198 
199  std::pair<bool,double> outerPath = crossing.pathLength( *theOuterPlane);
200  if (!outerPath.first) return SubLayerCrossings();
201  GlobalPoint gOuterPoint( crossing.position(outerPath.second));
202 
203  std::pair<bool,double> innerPath = crossing.pathLength( *theInnerPlane);
204  if (!innerPath.first) return SubLayerCrossings();
205  GlobalPoint gInnerPoint( crossing.position(innerPath.second));
206 
207 
208  int innerIndex = theInnerBinFinder.binIndex(gInnerPoint.z());
209  float innerDist = std::abs( theInnerBinFinder.binPosition(innerIndex) - gInnerPoint.z());
210  SubLayerCrossing innerSLC( 0, innerIndex, gInnerPoint);
211 
212  int outerIndex = theOuterBinFinder.binIndex(gOuterPoint.z());
213  float outerDist = std::abs( theOuterBinFinder.binPosition(outerIndex) - gOuterPoint.z());
214  SubLayerCrossing outerSLC( 1, outerIndex, gOuterPoint);
215 
216  if (innerDist < outerDist) {
217  return SubLayerCrossings( innerSLC, outerSLC, 0);
218  }
219  else {
220  return SubLayerCrossings( outerSLC, innerSLC, 1);
221  }
222 }
BinFinderType theOuterBinFinder
virtual T binPosition(int ind) const
the middle of the bin.
BinFinderType theInnerBinFinder
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
ReferenceCountingPointer< Plane > theOuterPlane
ReferenceCountingPointer< Plane > theInnerPlane
virtual int binIndex(T z) const
returns an index in the valid range for the bin closest to Z
float Phase2OTBarrelRod::computeWindowSize ( const GeomDet det,
const TrajectoryStateOnSurface tsos,
const MeasurementEstimator est 
) const
private

Definition at line 248 of file Phase2OTBarrelRod.cc.

References MeasurementEstimator::maximalLocalDisplacement(), GeomDet::surface(), and y.

Referenced by groupedCompatibleDetsV().

251 {
252  return
253  est.maximalLocalDisplacement(tsos, det->surface()).y();
254 }
virtual Local2DVector maximalLocalDisplacement(const TrajectoryStateOnSurface &ts, const Plane &plane) const =0
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:40
void Phase2OTBarrelRod::groupedCompatibleDetsV ( const TrajectoryStateOnSurface tsos,
const Propagator prop,
const MeasurementEstimator est,
std::vector< DetGroup > &  result 
) const
virtual

Reimplemented from GeometricSearchDet.

Definition at line 119 of file Phase2OTBarrelRod.cc.

References addClosest(), LayerCrossingSide::barrelSide(), SubLayerCrossings::closest(), SubLayerCrossings::closestIndex(), computeCrossings(), computeWindowSize(), SubLayerCrossings::isValid(), LogTrace, eostools::move(), DetGroupMerger::orderAndMergeTwoLevels(), SubLayerCrossings::other(), Propagator::propagationDirection(), searchNeighbors(), and svgfig::window().

122  {
123 
124  SubLayerCrossings crossings;
125  crossings = computeCrossings( tsos, prop.propagationDirection());
126  if(! crossings.isValid()) return;
127 
128  std::vector<DetGroup> closestResult;
129  std::vector<DetGroup> closestBrotherResult;
130  addClosest( tsos, prop, est, crossings.closest(), closestResult, closestBrotherResult);
131  if (closestResult.empty()){
132  std::vector<DetGroup> nextResult;
133  std::vector<DetGroup> nextBrotherResult;
134  addClosest( tsos, prop, est, crossings.other(), nextResult, nextBrotherResult);
135  if(nextResult.empty()) return;
136 
137  DetGroupElement nextGel( nextResult.front().front());
138  int crossingSide = LayerCrossingSide().barrelSide( nextGel.trajectoryState(), prop);
139  std::vector<DetGroup> closestCompleteResult;
140  DetGroupMerger::orderAndMergeTwoLevels(std::move(closestResult),std::move(closestBrotherResult),closestCompleteResult,
141  0, crossingSide);
142  std::vector<DetGroup> nextCompleteResult;
143  DetGroupMerger::orderAndMergeTwoLevels(std::move(nextResult),std::move(nextBrotherResult),nextCompleteResult,
144  0, crossingSide);
145 
146  DetGroupMerger::orderAndMergeTwoLevels( std::move(closestCompleteResult), std::move(nextCompleteResult), result,
147  crossings.closestIndex(), crossingSide);
148  } else {
149 
150  DetGroupElement closestGel( closestResult.front().front());
151  int crossingSide = LayerCrossingSide().barrelSide( closestGel.trajectoryState(), prop);
152  float window = computeWindowSize( closestGel.det(), closestGel.trajectoryState(), est);
153 
154  searchNeighbors( tsos, prop, est, crossings.closest(), window,
155  closestResult, closestBrotherResult, false);
156 
157  std::vector<DetGroup> closestCompleteResult;
158  DetGroupMerger::orderAndMergeTwoLevels(std::move(closestResult),std::move(closestBrotherResult),closestCompleteResult,
159  0, crossingSide);
160 
161  std::vector<DetGroup> nextResult;
162  std::vector<DetGroup> nextBrotherResult;
163  searchNeighbors( tsos, prop, est, crossings.other(), window,
164  nextResult, nextBrotherResult, true);
165 
166  std::vector<DetGroup> nextCompleteResult;
167  DetGroupMerger::orderAndMergeTwoLevels(std::move(nextResult),std::move(nextBrotherResult),nextCompleteResult,
168  0, crossingSide);
169 
170  DetGroupMerger::orderAndMergeTwoLevels( std::move(closestCompleteResult), std::move(nextCompleteResult), result,
171  crossings.closestIndex(), crossingSide);
172  }
173 
174  //due to propagator problems, when we add single pt sub modules, we should order them in r (barrel)
175  sort(result.begin(),result.end(),DetGroupElementPerpLess());
176  for (auto& grp : result) {
177  if ( grp.empty() ) continue;
178  LogTrace("TkDetLayers") <<"New group in Phase2OTBarrelLayer made by : ";
179  for (auto const & det : grp) {
180  LogTrace("TkDetLayers") <<" geom det at r: " << det.det()->position().perp() <<" id:" << det.det()->geographicalId().rawId()
181  <<" tsos at:" << det.trajectoryState().globalPosition();
182  }
183  }
184 
185 }
def window
Definition: svgfig.py:642
static int barrelSide(const TrajectoryStateOnSurface &startingState, const Propagator &prop)
returns 0 if barrel layer crossed from inside, 1 if from outside
int closestIndex() const
virtual PropagationDirection propagationDirection() const final
Definition: Propagator.h:151
tuple result
Definition: query.py:137
def move
Definition: eostools.py:510
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))
#define LogTrace(id)
const SubLayerCrossing & other() const
float computeWindowSize(const GeomDet *det, const TrajectoryStateOnSurface &tsos, const MeasurementEstimator &est) const __attribute__((hot))
SubLayerCrossings computeCrossings(const TrajectoryStateOnSurface &tsos, PropagationDirection propDir) const __attribute__((hot))
const SubLayerCrossing & closest() const
static void orderAndMergeTwoLevels(std::vector< DetGroup > &&one, std::vector< DetGroup > &&two, std::vector< DetGroup > &result, int firstIndex, int firstCrossed)
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 Phase2OTBarrelRod::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 288 of file Phase2OTBarrelRod.cc.

References Clusterizer1DCommons::add(), SubLayerCrossing::closestDetIndex(), muon::overlap(), SubLayerCrossing::position(), SubLayerCrossing::subLayerIndex(), subRod(), subRodBrothers(), and PV3DBase< T, PVType, FrameType >::z().

Referenced by groupedCompatibleDetsV().

296 {
297  GlobalPoint gCrossingPos = crossing.position();
298 
299  const vector<const GeomDet*>& sRod( subRod( crossing.subLayerIndex()));
300  const vector<const GeomDet*>& sBrotherRod( subRodBrothers( crossing.subLayerIndex()));
301 
302  int closestIndex = crossing.closestDetIndex();
303  int negStartIndex = closestIndex-1;
304  int posStartIndex = closestIndex+1;
305 
306  if (checkClosest) { // must decide if the closest is on the neg or pos side
307  if (gCrossingPos.z() < sRod[closestIndex]->surface().position().z()) {
308  posStartIndex = closestIndex;
309  }
310  else {
311  negStartIndex = closestIndex;
312  }
313  }
314 
315  typedef CompatibleDetToGroupAdder Adder;
316  for (int idet=negStartIndex; idet >= 0; idet--) {
317  if (!overlap( gCrossingPos, *sRod[idet], window)) break;
318  if (!Adder::add( *sRod[idet], tsos, prop, est, result)) break;
319  // If the two above checks are passed also the brother module will be added with no further checks
320  Adder::add( *sBrotherRod[idet], tsos, prop, est, brotherresult);
321  }
322  for (int idet=posStartIndex; idet < static_cast<int>(sRod.size()); idet++) {
323  if (!overlap( gCrossingPos, *sRod[idet], window)) break;
324  if (!Adder::add( *sRod[idet], tsos, prop, est, result)) break;
325  // If the two above checks are passed also the brother module will be added with no further checks
326  Adder::add( *sBrotherRod[idet], tsos, prop, est, brotherresult);
327  }
328 }
def window
Definition: svgfig.py:642
int closestDetIndex() const
void add(const std::vector< const T * > &source, std::vector< const T * > &dest)
bool overlap(const reco::Muon &muon1, const reco::Muon &muon2, double pullX=1.0, double pullY=1.0, bool checkAdjacentChambers=false)
const GlobalPoint & position() const
int subLayerIndex() const
T z() const
Definition: PV3DBase.h:64
tuple result
Definition: query.py:137
const std::vector< const GeomDet * > & subRodBrothers(int ind) const
const std::vector< const GeomDet * > & subRod(int ind) const
const std::vector<const GeomDet*>& Phase2OTBarrelRod::subRod ( int  ind) const
inlineprivate

Definition at line 70 of file Phase2OTBarrelRod.h.

References theInnerDets, and theOuterDets.

Referenced by addClosest(), and searchNeighbors().

70  {
71  return (ind==0 ? theInnerDets : theOuterDets);
72  }
std::vector< const GeomDet * > theOuterDets
std::vector< const GeomDet * > theInnerDets
const std::vector<const GeomDet*>& Phase2OTBarrelRod::subRodBrothers ( int  ind) const
inlineprivate

Definition at line 74 of file Phase2OTBarrelRod.h.

References theInnerDetBrothers, and theOuterDetBrothers.

Referenced by addClosest(), and searchNeighbors().

74  {
75  return (ind==0 ? theInnerDetBrothers : theOuterDetBrothers);
76  }
std::vector< const GeomDet * > theOuterDetBrothers
std::vector< const GeomDet * > theInnerDetBrothers

Member Data Documentation

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

Definition at line 80 of file Phase2OTBarrelRod.h.

Referenced by basicComponents(), and Phase2OTBarrelRod().

BinFinderType Phase2OTBarrelRod::theInnerBinFinder
private

Definition at line 89 of file Phase2OTBarrelRod.h.

Referenced by computeCrossings(), and Phase2OTBarrelRod().

std::vector<const GeomDet*> Phase2OTBarrelRod::theInnerDetBrothers
private

Definition at line 83 of file Phase2OTBarrelRod.h.

Referenced by Phase2OTBarrelRod(), and subRodBrothers().

std::vector<const GeomDet*> Phase2OTBarrelRod::theInnerDets
private

Definition at line 81 of file Phase2OTBarrelRod.h.

Referenced by Phase2OTBarrelRod(), and subRod().

ReferenceCountingPointer<Plane> Phase2OTBarrelRod::theInnerPlane
private

Definition at line 86 of file Phase2OTBarrelRod.h.

Referenced by computeCrossings(), and Phase2OTBarrelRod().

BinFinderType Phase2OTBarrelRod::theOuterBinFinder
private

Definition at line 90 of file Phase2OTBarrelRod.h.

Referenced by computeCrossings(), and Phase2OTBarrelRod().

std::vector<const GeomDet*> Phase2OTBarrelRod::theOuterDetBrothers
private

Definition at line 84 of file Phase2OTBarrelRod.h.

Referenced by Phase2OTBarrelRod(), and subRodBrothers().

std::vector<const GeomDet*> Phase2OTBarrelRod::theOuterDets
private

Definition at line 82 of file Phase2OTBarrelRod.h.

Referenced by Phase2OTBarrelRod(), and subRod().

ReferenceCountingPointer<Plane> Phase2OTBarrelRod::theOuterPlane
private

Definition at line 87 of file Phase2OTBarrelRod.h.

Referenced by computeCrossings(), and Phase2OTBarrelRod().