CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes
CompositeTECPetal Class Referencefinal

#include <CompositeTECPetal.h>

Inheritance diagram for CompositeTECPetal:
GeometricSearchDet

Classes

struct  WedgePar
 

Public Member Functions

const std::vector< const GeomDet * > & basicComponents () const override
 
std::pair< bool, TrajectoryStateOnSurfacecompatible (const TrajectoryStateOnSurface &ts, const Propagator &, const MeasurementEstimator &) const override __attribute__((cold))
 
const std::vector< const GeometricSearchDet * > & components () const override __attribute__((cold))
 Returns basic components, if any. More...
 
 CompositeTECPetal (std::vector< const TECWedge * > &innerWedges, std::vector< const TECWedge * > &outerWedges) __attribute__((cold))
 
void groupedCompatibleDetsV (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const override __attribute__((hot))
 
virtual const BoundDiskSectorspecificSurface () const final
 
const BoundSurfacesurface () const final
 The surface of the GeometricSearchDet. More...
 
 ~CompositeTECPetal () override __attribute__((cold))
 
- 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::PositionTypeposition () 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) const __attribute__((hot))
 
SubLayerCrossings computeCrossings (const TrajectoryStateOnSurface &tsos, PropagationDirection propDir) const __attribute__((hot))
 
int findBin (float R, int layer) const
 
WedgePar const & findPar (int index, int diskSectorType) const
 
void searchNeighbors (const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, float window, std::vector< DetGroup > &result, bool checkClosest) const __attribute__((hot))
 
const std::vector< const TECWedge * > & subLayer (int ind) const
 

Static Private Member Functions

static float computeWindowSize (const GeomDet *det, const TrajectoryStateOnSurface &tsos, const MeasurementEstimator &est) __attribute__((hot))
 

Private Attributes

std::vector< float > theBackBoundaries
 
std::vector< const TECWedge * > theBackComps
 
std::vector< WedgePartheBackPars
 
ReferenceCountingPointer< BoundDiskSectortheBackSector
 
std::vector< const GeomDet * > theBasicComps
 
std::vector< const GeometricSearchDet * > theComps
 
ReferenceCountingPointer< BoundDiskSectortheDiskSector
 
std::vector< float > theFrontBoundaries
 
std::vector< const TECWedge * > theFrontComps
 
std::vector< WedgePartheFrontPars
 
ReferenceCountingPointer< BoundDiskSectortheFrontSector
 

Additional Inherited Members

- Public Types inherited from GeometricSearchDet
typedef std::pair< const GeomDet *, TrajectoryStateOnSurfaceDetWithState
 
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 TEC petals

Definition at line 20 of file CompositeTECPetal.h.

Constructor & Destructor Documentation

CompositeTECPetal::CompositeTECPetal ( std::vector< const TECWedge * > &  innerWedges,
std::vector< const TECWedge * > &  outerWedges 
)

Definition at line 94 of file CompositeTECPetal.cc.

References LogDebug, theBackBoundaries, theBackComps, theBackPars, theBackSector, theBasicComps, theComps, theDiskSector, theFrontBoundaries, theFrontComps, theFrontPars, and theFrontSector.

95  :
96  GeometricSearchDet(true),
97  theFrontComps(innerWedges),
98  theBackComps(outerWedges)
99 {
100  theComps.assign(theFrontComps.begin(),theFrontComps.end());
101  theComps.insert(theComps.end(),theBackComps.begin(),theBackComps.end());
102 
103  details::fillBoundaries( theFrontComps, theFrontBoundaries);
104  details::fillBoundaries( theBackComps, theBackBoundaries);
105  details::fillPars(theFrontComps, theFrontPars);
106  details::fillPars(theBackComps, theBackPars);
107 
108  for(vector<const GeometricSearchDet*>::const_iterator it=theComps.begin();
109  it!=theComps.end();it++){
110  theBasicComps.insert(theBasicComps.end(),
111  (**it).basicComponents().begin(),
112  (**it).basicComponents().end());
113  }
114 
115 
116  //the Wedge are already R ordered
117  //sort( theWedges.begin(), theWedges.end(), DetLessR());
118  //sort( theFrontWedges.begin(), theFrontWedges.end(), DetLessR() );
119  //sort( theBackWedges.begin(), theBackWedges.end(), DetLessR() );
120  vector<const TECWedge*> allWedges;
121  allWedges.assign(innerWedges.begin(),innerWedges.end());
122  allWedges.insert(allWedges.end(),outerWedges.begin(),outerWedges.end());
123 
127 
128  //--------- DEBUG INFO --------------
129  LogDebug("TkDetLayers") << "DEBUG INFO for CompositeTECPetal" ;
130 
131  for(auto it=theFrontComps.begin();
132  it!=theFrontComps.end(); it++){
133  LogDebug("TkDetLayers") << "frontWedge phi,z,r: "
134  << (*it)->surface().position().phi() << " , "
135  << (*it)->surface().position().z() << " , "
136  << (*it)->surface().position().perp() ;
137  }
138 
139  for(auto it=theBackComps.begin();
140  it!=theBackComps.end(); it++){
141  LogDebug("TkDetLayers") << "backWedge phi,z,r: "
142  << (*it)->surface().position().phi() << " , "
143  << (*it)->surface().position().z() << " , "
144  << (*it)->surface().position().perp() ;
145  }
146  //-----------------------------------
147 
148 
149 }
#define LogDebug(id)
std::vector< float > theFrontBoundaries
std::vector< const GeometricSearchDet * > theComps
GeometricSearchDet(bool doHaveGroups)
ReferenceCountingPointer< BoundDiskSector > theDiskSector
ReferenceCountingPointer< BoundDiskSector > theFrontSector
std::vector< const TECWedge * > theFrontComps
ReferenceCountingPointer< BoundDiskSector > theBackSector
std::vector< WedgePar > theBackPars
std::vector< const GeomDet * > theBasicComps
std::vector< float > theBackBoundaries
std::vector< const TECWedge * > theBackComps
std::vector< WedgePar > theFrontPars
CompositeTECPetal::~CompositeTECPetal ( )
override

Definition at line 152 of file CompositeTECPetal.cc.

References mps_fire::i, and theComps.

152  {
153  vector<const GeometricSearchDet*>::const_iterator i;
154  for (i=theComps.begin(); i!=theComps.end(); i++) {
155  delete *i;
156  }
157 }
std::vector< const GeometricSearchDet * > theComps

Member Function Documentation

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

Definition at line 266 of file CompositeTECPetal.cc.

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

Referenced by groupedCompatibleDetsV().

271 {
272 
273  auto det = subLayer( crossing.subLayerIndex())[crossing.closestDetIndex()];
274 
275  LogDebug("TkDetLayers")
276  << "in TECPetal, adding Wedge at r,z,phi: ("
277  << det->position().perp() << ","
278  << det->position().z() << ","
279  << det->position().phi() << ")" ;
280  LogDebug("TkDetLayers")
281  << "wedge comps size: "
282  << det->basicComponents().size();
283 
284  return CompatibleDetToGroupAdder::add( *det, tsos, prop, est, result);
285 }
#define LogDebug(id)
int closestDetIndex() const
int subLayerIndex() const
const std::vector< const TECWedge * > & subLayer(int ind) const
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*>& CompositeTECPetal::basicComponents ( ) const
inlineoverridevirtual

Implements GeometricSearchDet.

Definition at line 37 of file CompositeTECPetal.h.

References theBasicComps.

37 {return theBasicComps;}
std::vector< const GeomDet * > theBasicComps
pair< bool, TrajectoryStateOnSurface > CompositeTECPetal::compatible ( const TrajectoryStateOnSurface ts,
const Propagator ,
const MeasurementEstimator  
) const
overridevirtual

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 161 of file CompositeTECPetal.cc.

Referenced by components().

162  {
163  edm::LogError("TkDetLayers") << "temporary dummy implementation of CompositeTECPetal::compatible()!!" ;
164  return pair<bool,TrajectoryStateOnSurface>();
165 }
const std::vector<const GeometricSearchDet*>& CompositeTECPetal::components ( ) const
inlineoverridevirtual

Returns basic components, if any.

Returns direct components, if any

Implements GeometricSearchDet.

Definition at line 39 of file CompositeTECPetal.h.

References compatible(), groupedCompatibleDetsV(), mps_fire::result, and theComps.

39 {return theComps;}
std::vector< const GeometricSearchDet * > theComps
SubLayerCrossings CompositeTECPetal::computeCrossings ( const TrajectoryStateOnSurface tsos,
PropagationDirection  propDir 
) const
private

Definition at line 211 of file CompositeTECPetal.cc.

References funct::abs(), findBin(), TrajectoryStateOnSurface::globalMomentum(), TrajectoryStateOnSurface::globalPosition(), LogDebug, HelixForwardPlaneCrossing::pathLength(), HelixForwardPlaneCrossing::position(), rho, theBackPars, theBackSector, theFrontPars, theFrontSector, and TrajectoryStateOnSurface::transverseCurvature().

Referenced by groupedCompatibleDetsV().

213 {
214 
215  HelixPlaneCrossing::PositionType startPos( startingState.globalPosition() );
216  HelixPlaneCrossing::DirectionType startDir( startingState.globalMomentum() );
217 
218  auto rho = startingState.transverseCurvature();
219 
220  HelixForwardPlaneCrossing crossing(startPos,startDir,rho,propDir);
221 
222  pair<bool,double> frontPath = crossing.pathLength( *theFrontSector);
223  if (!frontPath.first) return SubLayerCrossings();
224 
225  pair<bool,double> backPath = crossing.pathLength(*theBackSector);
226  if (!backPath.first) return SubLayerCrossings();
227 
228  GlobalPoint gFrontPoint(crossing.position(frontPath.second));
229  GlobalPoint gBackPoint( crossing.position(backPath.second));
230 
231 
232  LogDebug("TkDetLayers")
233  << "in TECPetal,front crossing : r,z,phi: ("
234  << gFrontPoint.perp() << ","
235  << gFrontPoint.z() << ","
236  << gFrontPoint.phi() << ")";
237 
238  LogDebug("TkDetLayers")
239  << "in TECPetal,back crossing r,z,phi: ("
240  << gBackPoint.perp() << ","
241  << gBackPoint.z() << ","
242  << gBackPoint.phi() << ")" ;
243 
244 
245 
246  int frontIndex = findBin(gFrontPoint.perp(),0);
247  SubLayerCrossing frontSLC( 0, frontIndex, gFrontPoint);
248 
249  int backIndex = findBin(gBackPoint.perp(),1);
250  SubLayerCrossing backSLC( 1, backIndex, gBackPoint);
251 
252  auto frontDist = std::abs( theFrontPars[frontIndex].theR - gFrontPoint.perp());
253  auto backDist = std::abs( theBackPars[backIndex].theR - gBackPoint.perp());
254 
255 
256 
257  // 0ss: frontDisk has index=0, backDisk has index=1
258  if (frontDist < backDist) {
259  return SubLayerCrossings( frontSLC, backSLC, 0);
260  }
261  else {
262  return SubLayerCrossings( backSLC, frontSLC, 1);
263  }
264 }
#define LogDebug(id)
int findBin(float R, int layer) const
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
ReferenceCountingPointer< BoundDiskSector > theFrontSector
ReferenceCountingPointer< BoundDiskSector > theBackSector
std::vector< WedgePar > theBackPars
std::vector< WedgePar > theFrontPars
float CompositeTECPetal::computeWindowSize ( const GeomDet det,
const TrajectoryStateOnSurface tsos,
const MeasurementEstimator est 
)
staticprivate

Definition at line 345 of file CompositeTECPetal.cc.

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

Referenced by groupedCompatibleDetsV().

348 {
349  return est.maximalLocalDisplacement(tsos, det->surface()).y();
350 }
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:42
virtual Local2DVector maximalLocalDisplacement(const TrajectoryStateOnSurface &ts, const Plane &plane) const =0
int CompositeTECPetal::findBin ( float  R,
int  layer 
) const
private

Definition at line 353 of file CompositeTECPetal.cc.

References theBackBoundaries, and theFrontBoundaries.

Referenced by computeCrossings().

354 {
355  return details::findBin(diskSectorType==0 ? theFrontBoundaries : theBackBoundaries,R);
356 }
std::vector< float > theFrontBoundaries
std::vector< float > theBackBoundaries
WedgePar const& CompositeTECPetal::findPar ( int  index,
int  diskSectorType 
) const
inlineprivate

Definition at line 85 of file CompositeTECPetal.h.

References diffTreeTool::index, theBackPars, and theFrontPars.

Referenced by searchNeighbors().

85  {
86  return (diskSectorType == 0) ? theFrontPars[index] : theBackPars[index];
87  }
std::vector< WedgePar > theBackPars
std::vector< WedgePar > theFrontPars
void CompositeTECPetal::groupedCompatibleDetsV ( const TrajectoryStateOnSurface startingState,
const Propagator prop,
const MeasurementEstimator est,
std::vector< DetGroup > &  result 
) const
overridevirtual

Reimplemented from GeometricSearchDet.

Definition at line 169 of file CompositeTECPetal.cc.

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

Referenced by components().

172  {
173 
174  vector<DetGroup> closestResult;
175  SubLayerCrossings crossings;
176  crossings = computeCrossings( tsos, prop.propagationDirection());
177  if(! crossings.isValid()) return;
178 
179  addClosest( tsos, prop, est, crossings.closest(), closestResult);
180  LogDebug("TkDetLayers") << "in TECPetal, closestResult.size(): "<< closestResult.size();
181 
182  if (closestResult.empty()){
183  vector<DetGroup> nextResult;
184  addClosest( tsos, prop, est, crossings.other(), nextResult);
185  LogDebug("TkDetLayers") << "in TECPetal, nextResult.size(): "<< nextResult.size() ;
186  if(nextResult.empty()) return;
187 
188  DetGroupElement nextGel( nextResult.front().front());
189  int crossingSide = LayerCrossingSide::endcapSide( nextGel.trajectoryState(), prop);
190  DetGroupMerger::orderAndMergeTwoLevels( std::move(closestResult), std::move(nextResult), result,
191  crossings.closestIndex(), crossingSide);
192  } else {
193 
194  DetGroupElement closestGel( closestResult.front().front());
195  float window = computeWindowSize( closestGel.det(), closestGel.trajectoryState(), est);
196 
197  searchNeighbors( tsos, prop, est, crossings.closest(), window,
198  closestResult, false);
199 
200  vector<DetGroup> nextResult;
201  searchNeighbors( tsos, prop, est, crossings.other(), window,
202  nextResult, true);
203 
204  int crossingSide = LayerCrossingSide::endcapSide( closestGel.trajectoryState(), prop);
205  DetGroupMerger::orderAndMergeTwoLevels( std::move(closestResult), std::move(nextResult), result,
206  crossings.closestIndex(), crossingSide);
207  }
208 }
#define LogDebug(id)
bool addClosest(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, std::vector< DetGroup > &result) const __attribute__((hot))
int closestIndex() const
void searchNeighbors(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, float window, std::vector< DetGroup > &result, bool checkClosest) const __attribute__((hot))
virtual PropagationDirection propagationDirection() const final
Definition: Propagator.h:151
SubLayerCrossings computeCrossings(const TrajectoryStateOnSurface &tsos, PropagationDirection propDir) const __attribute__((hot))
static int endcapSide(const TrajectoryStateOnSurface &startingState, const Propagator &prop)
def window(xmin, xmax, ymin, ymax, x=0, y=0, width=100, height=100, xlogbase=None, ylogbase=None, minusInfinity=-1000, flipx=False, flipy=True)
Definition: svgfig.py:642
static float computeWindowSize(const GeomDet *det, const TrajectoryStateOnSurface &tsos, const MeasurementEstimator &est) __attribute__((hot))
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)
def move(src, dest)
Definition: eostools.py:510
void CompositeTECPetal::searchNeighbors ( const TrajectoryStateOnSurface tsos,
const Propagator prop,
const MeasurementEstimator est,
const SubLayerCrossing crossing,
float  window,
std::vector< DetGroup > &  result,
bool  checkClosest 
) const
private

Definition at line 290 of file CompositeTECPetal.cc.

References PVValHelper::add(), SubLayerCrossing::closestDetIndex(), findPar(), muon::overlap(), PV3DBase< T, PVType, FrameType >::perp2(), SubLayerCrossing::position(), subLayer(), SubLayerCrossing::subLayerIndex(), theBackComps, and theFrontComps.

Referenced by groupedCompatibleDetsV().

297 {
298  const GlobalPoint& gCrossingPos = crossing.position();
299 
300 
301  int closestIndex = crossing.closestDetIndex();
302  int negStartIndex = closestIndex-1;
303  int posStartIndex = closestIndex+1;
304 
305  float detR = findPar(closestIndex,crossing.subLayerIndex()).theR;
306 
307  if (checkClosest) { // must decide if the closest is on the neg or pos side
308  if ( gCrossingPos.perp2() < detR*detR ) {
309  posStartIndex = closestIndex;
310  }
311  else {
312  negStartIndex = closestIndex;
313  }
314  }
315 
316  const std::vector<const TECWedge*>& sLayer = subLayer(crossing.subLayerIndex() );
317 
318  //const BinFinderType& binFinder = (crossing.subLayerIndex()==0 ? theFrontBinFinder : theBackBinFinder);
319  int theSize = crossing.subLayerIndex()==0 ? theFrontComps.size() : theBackComps.size();
320 
321  typedef CompatibleDetToGroupAdder Adder;
322  for (int idet=negStartIndex; idet >= 0; idet--) {
323  //if(idet<0 || idet>= theSize) {edm::LogInfo(TkDetLayers) << "===== error! gone out vector bounds.idet: " << idet ;exit;}
324  const GeometricSearchDet & neighborWedge = *sLayer[idet];
325  WedgePar const & wpar = findPar(idet, crossing.subLayerIndex());
326  if (!details::overlap( gCrossingPos, wpar, window)) break; // --- to check
327  if (!Adder::add( neighborWedge, tsos, prop, est, result)) break;
328  // maybe also add shallow crossing angle test here???
329  }
330  for (int idet=posStartIndex; idet <theSize; idet++) {
331  //if(idet<0 || idet>= theSize) {edm::LogInfo(TkDetLayers) << "===== error! gone out vector bounds.idet: " << idet ;exit;}
332  const GeometricSearchDet & neighborWedge = *sLayer[idet];
333  WedgePar const & wpar = findPar(idet, crossing.subLayerIndex());
334  if (!details::overlap( gCrossingPos, wpar, window)) break; // ---- to check
335  if (!Adder::add( neighborWedge, tsos, prop, est, result)) break;
336  // maybe also add shallow crossing angle test here???
337  }
338 }
WedgePar const & findPar(int index, int diskSectorType) const
int closestDetIndex() const
T perp2() const
Definition: PV3DBase.h:71
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
const std::vector< const TECWedge * > & subLayer(int ind) const
def window(xmin, xmax, ymin, ymax, x=0, y=0, width=100, height=100, xlogbase=None, ylogbase=None, minusInfinity=-1000, flipx=False, flipy=True)
Definition: svgfig.py:642
void add(std::map< std::string, TH1 * > &h, TH1 *hist)
std::vector< const TECWedge * > theFrontComps
std::vector< const TECWedge * > theBackComps
virtual const BoundDiskSector& CompositeTECPetal::specificSurface ( ) const
inlinefinalvirtual

Definition at line 32 of file CompositeTECPetal.h.

References theDiskSector.

Referenced by TECLayer::addClosest().

32 {return *theDiskSector;}
ReferenceCountingPointer< BoundDiskSector > theDiskSector
const std::vector<const TECWedge*>& CompositeTECPetal::subLayer ( int  ind) const
inlineprivate

Definition at line 89 of file CompositeTECPetal.h.

References theBackComps, and theFrontComps.

Referenced by addClosest(), and searchNeighbors().

89  {
90  return (ind==0 ? theFrontComps : theBackComps);
91  }
std::vector< const TECWedge * > theFrontComps
std::vector< const TECWedge * > theBackComps
const BoundSurface& CompositeTECPetal::surface ( ) const
inlinefinalvirtual

The surface of the GeometricSearchDet.

Implements GeometricSearchDet.

Definition at line 30 of file CompositeTECPetal.h.

References theDiskSector.

30 {return *theDiskSector;}
ReferenceCountingPointer< BoundDiskSector > theDiskSector

Member Data Documentation

std::vector<float> CompositeTECPetal::theBackBoundaries
private

Definition at line 102 of file CompositeTECPetal.h.

Referenced by CompositeTECPetal(), and findBin().

std::vector<const TECWedge*> CompositeTECPetal::theBackComps
private

Definition at line 99 of file CompositeTECPetal.h.

Referenced by CompositeTECPetal(), searchNeighbors(), and subLayer().

std::vector<WedgePar> CompositeTECPetal::theBackPars
private

Definition at line 104 of file CompositeTECPetal.h.

Referenced by CompositeTECPetal(), computeCrossings(), and findPar().

ReferenceCountingPointer<BoundDiskSector> CompositeTECPetal::theBackSector
private

Definition at line 107 of file CompositeTECPetal.h.

Referenced by CompositeTECPetal(), and computeCrossings().

std::vector<const GeomDet*> CompositeTECPetal::theBasicComps
private

Definition at line 95 of file CompositeTECPetal.h.

Referenced by basicComponents(), and CompositeTECPetal().

std::vector<const GeometricSearchDet*> CompositeTECPetal::theComps
private

Definition at line 96 of file CompositeTECPetal.h.

Referenced by components(), CompositeTECPetal(), and ~CompositeTECPetal().

ReferenceCountingPointer<BoundDiskSector> CompositeTECPetal::theDiskSector
private

Definition at line 54 of file CompositeTECPetal.h.

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

std::vector<float> CompositeTECPetal::theFrontBoundaries
private

Definition at line 101 of file CompositeTECPetal.h.

Referenced by CompositeTECPetal(), and findBin().

std::vector<const TECWedge*> CompositeTECPetal::theFrontComps
private

Definition at line 98 of file CompositeTECPetal.h.

Referenced by CompositeTECPetal(), searchNeighbors(), and subLayer().

std::vector<WedgePar> CompositeTECPetal::theFrontPars
private

Definition at line 103 of file CompositeTECPetal.h.

Referenced by CompositeTECPetal(), computeCrossings(), and findPar().

ReferenceCountingPointer<BoundDiskSector> CompositeTECPetal::theFrontSector
private

Definition at line 106 of file CompositeTECPetal.h.

Referenced by CompositeTECPetal(), and computeCrossings().