CMS 3D CMS Logo

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

#include <TECLayer.h>

Inheritance diagram for TECLayer:
ForwardDetLayer DetLayer GeometricSearchDet

Public Member Functions

virtual const std::vector
< const GeomDet * > & 
basicComponents () 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))
 
virtual SubDetector subDetector () const
 The type of detector (PixelBarrel, PixelEndcap, TIB, TOB, TID, TEC, CSC, DT, RPCBarrel, RPCEndcap) More...
 
 TECLayer (std::vector< const TECPetal * > &innerPetals, std::vector< const TECPetal * > &outerPetals) __attribute__((cold))
 
 ~TECLayer () __attribute__((cold))
 
- Public Member Functions inherited from ForwardDetLayer
virtual std::pair< bool,
TrajectoryStateOnSurface
compatible (const TrajectoryStateOnSurface &, const Propagator &, const MeasurementEstimator &) const
 
bool contains (const Local3DPoint &p) const
 
 ForwardDetLayer (bool doHaveGroups)
 
virtual Location location () const GCC11_FINAL
 Which part of the detector (barrel, endcap) More...
 
virtual const BoundDiskspecificSurface () const GCC11_FINAL
 
virtual const BoundSurfacesurface () const GCC11_FINAL
 The surface of the GeometricSearchDet. More...
 
virtual ~ForwardDetLayer ()
 
- Public Member Functions inherited from DetLayer
 DetLayer (bool doHaveGroup, bool ibar)
 
bool isBarrel () const
 
bool isForward () const
 
int seqNum () const
 
void setSeqNum (int sq)
 
virtual ~DetLayer ()
 
- 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 ()
 

Protected Types

typedef PeriodicBinFinderInPhi
< float > 
BinFinderPhi
 

Protected Attributes

BinFinderPhi theBackBinFinder
 
std::vector< const TECPetal * > theBackComps
 
ReferenceCountingPointer
< BoundDisk
theBackDisk
 
std::vector< const GeomDet * > theBasicComps
 
std::vector< const
GeometricSearchDet * > 
theComps
 
BinFinderPhi theFrontBinFinder
 
std::vector< const TECPetal * > theFrontComps
 
ReferenceCountingPointer
< BoundDisk
theFrontDisk
 
- Protected Attributes inherited from GeometricSearchDet
bool haveGroups
 
GeomDetCompatibilityChecker theCompatibilityChecker
 

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 &startingState, 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, bool checkClosest) const __attribute__((hot))
 
const std::vector< const
TECPetal * > & 
subLayer (int ind) const
 

Additional Inherited Members

- Public Types inherited from DetLayer
typedef
GeomDetEnumerators::Location 
Location
 
typedef
GeomDetEnumerators::SubDetector 
SubDetector
 
- Public Types inherited from GeometricSearchDet
typedef std::pair< const
GeomDet
*, TrajectoryStateOnSurface
DetWithState
 
typedef BoundSurface::PositionType PositionType
 
typedef BoundSurface::RotationType RotationType
 
typedef TrajectoryStateOnSurface TrajectoryState
 
- Protected Member Functions inherited from ForwardDetLayer
SimpleDiskBounds const & bounds () const
 
virtual BoundDiskcomputeSurface ()
 
virtual void initialize ()
 
float rmax () const
 
float rmin () const
 
void setSurface (BoundDisk *cp)
 
float zmax () const
 
float zmin () const
 

Detailed Description

A concrete implementation for TEC layer built out of TECPetals

Definition at line 16 of file TECLayer.h.

Member Typedef Documentation

Definition at line 78 of file TECLayer.h.

Constructor & Destructor Documentation

TECLayer::TECLayer ( std::vector< const TECPetal * > &  innerPetals,
std::vector< const TECPetal * > &  outerPetals 
)

Definition at line 56 of file TECLayer.cc.

References LogDebug, PV3DBase< T, PVType, FrameType >::perp(), GeometricSearchDet::position(), ForwardDetLayer::setSurface(), ForwardDetLayer::specificSurface(), theBackBinFinder, theBackComps, theBackDisk, theBasicComps, theComps, theFrontBinFinder, theFrontComps, theFrontDisk, and PV3DBase< T, PVType, FrameType >::z().

57  :
58  ForwardDetLayer(true),
59  theFrontComps(innerPetals.begin(),innerPetals.end()),
60  theBackComps(outerPetals.begin(),outerPetals.end())
61 {
62  theComps.assign(theFrontComps.begin(),theFrontComps.end());
63  theComps.insert(theComps.end(),theBackComps.begin(),theBackComps.end());
64 
65  for(vector<const GeometricSearchDet*>::const_iterator it=theComps.begin();
66  it!=theComps.end();it++){
67  theBasicComps.insert(theBasicComps.end(),
68  (**it).basicComponents().begin(),
69  (**it).basicComponents().end());
70  }
71 
72 
73  //This should be no necessary. TO BE CHECKED
74  //sort(theFrontPetals.begin(), theFrontPetals.end(), PetalLessPhi());
75  //sort(theBackPetals.begin(), theBackPetals.end(), PetalLessPhi());
76 
77  // building disk for front and back petals
78  setSurface( computeDisk( theComps ) );
79  theFrontDisk = computeDisk( theFrontComps);
80  theBackDisk = computeDisk( theBackComps);
81 
82  // set up the bin finders
83  theFrontBinFinder = BinFinderPhi(theFrontComps.front()->position().phi(),
84  theFrontComps.size());
85  theBackBinFinder = BinFinderPhi(theBackComps.front()->position().phi(),
86  theBackComps.size());
87 
88  //--------- DEBUG INFO --------------
89  LogDebug("TkDetLayers") << "DEBUG INFO for TECLayer" << "\n"
90  << "TECLayer z,perp, innerRadius, outerR: "
91  << this->position().z() << " , "
92  << this->position().perp() << " , "
93  << this->specificSurface().innerRadius() << " , "
94  << this->specificSurface().outerRadius() ;
95 
96 
97  for(auto it=theFrontComps.begin();
98  it!=theFrontComps.end(); it++){
99  LogDebug("TkDetLayers") << "frontPetal phi,z,r: "
100  << (*it)->surface().position().phi() << " , "
101  << (*it)->surface().position().z() << " , "
102  << (*it)->surface().position().perp() ;
103  }
104 
105  for(auto it=theBackComps.begin();
106  it!=theBackComps.end(); it++){
107  LogDebug("TkDetLayers") << "backPetal phi,z,r: "
108  << (*it)->surface().position().phi() << " , "
109  << (*it)->surface().position().z() << " , "
110  << (*it)->surface().position().perp() ;
111  }
112  //-----------------------------------
113 
114 
115 }
#define LogDebug(id)
std::vector< const TECPetal * > theBackComps
Definition: TECLayer.h:72
T perp() const
Definition: PV3DBase.h:72
std::vector< const GeomDet * > theBasicComps
Definition: TECLayer.h:69
void setSurface(BoundDisk *cp)
ForwardDetLayer(bool doHaveGroups)
ReferenceCountingPointer< BoundDisk > theFrontDisk
Definition: TECLayer.h:75
std::vector< const GeometricSearchDet * > theComps
Definition: TECLayer.h:68
ReferenceCountingPointer< BoundDisk > theBackDisk
Definition: TECLayer.h:76
T z() const
Definition: PV3DBase.h:64
BinFinderPhi theBackBinFinder
Definition: TECLayer.h:81
virtual const Surface::PositionType & position() const
Returns position of the surface.
BinFinderPhi theFrontBinFinder
Definition: TECLayer.h:80
virtual const BoundDisk & specificSurface() const GCC11_FINAL
std::vector< const TECPetal * > theFrontComps
Definition: TECLayer.h:71
PeriodicBinFinderInPhi< float > BinFinderPhi
Definition: TECLayer.h:78
TECLayer::~TECLayer ( )

Definition at line 119 of file TECLayer.cc.

References i, and theComps.

119  {
120  for (auto i=theComps.begin(); i!=theComps.end(); i++) {
121  delete *i;
122  }
123 }
int i
Definition: DBlmapReader.cc:9
std::vector< const GeometricSearchDet * > theComps
Definition: TECLayer.h:68

Member Function Documentation

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

Definition at line 225 of file TECLayer.cc.

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

Referenced by groupedCompatibleDetsV().

230 {
231  const auto & sub( subLayer( crossing.subLayerIndex()));
232  const auto det(sub[crossing.closestDetIndex()]);
233 
234  LogDebug("TkDetLayers")
235  << "in TECLayer, adding petal at r,z,phi: ("
236  << det->position().perp() << ","
237  << det->position().z() << ","
238  << det->position().phi() << ")" << endl;
239 
240  return CompatibleDetToGroupAdder().add( *det, tsos, prop, est, result);
241 }
#define LogDebug(id)
int closestDetIndex() const
const std::vector< const TECPetal * > & subLayer(int ind) const
Definition: TECLayer.h:61
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))
virtual const std::vector<const GeomDet*>& TECLayer::basicComponents ( ) const
inlinevirtual

Implements GeometricSearchDet.

Definition at line 24 of file TECLayer.h.

References theBasicComps.

24 {return theBasicComps;}
std::vector< const GeomDet * > theBasicComps
Definition: TECLayer.h:69
virtual const std::vector<const GeometricSearchDet*>& TECLayer::components ( ) const
inlinevirtual

Returns basic components, if any.

Returns direct components, if any

Implements GeometricSearchDet.

Definition at line 26 of file TECLayer.h.

References theComps.

26 {return theComps;}
std::vector< const GeometricSearchDet * > theComps
Definition: TECLayer.h:68
SubLayerCrossings TECLayer::computeCrossings ( const TrajectoryStateOnSurface startingState,
PropagationDirection  propDir 
) const
private

Definition at line 167 of file TECLayer.cc.

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

Referenced by groupedCompatibleDetsV().

169 {
170  double rho( startingState.transverseCurvature());
171 
172  HelixPlaneCrossing::PositionType startPos( startingState.globalPosition() );
173  HelixPlaneCrossing::DirectionType startDir( startingState.globalMomentum() );
174  HelixForwardPlaneCrossing crossing(startPos,startDir,rho,propDir);
175 
176  pair<bool,double> frontPath = crossing.pathLength( *theFrontDisk);
177  if (!frontPath.first) SubLayerCrossings();
178 
179 
180  GlobalPoint gFrontPoint(crossing.position(frontPath.second));
181 
182  LogDebug("TkDetLayers")
183  << "in TECLayer,front crossing point: r,z,phi: ("
184  << gFrontPoint.perp() << ","
185  << gFrontPoint.z() << ","
186  << gFrontPoint.phi() << ")" << endl;
187 
188 
189  int frontIndex = theFrontBinFinder.binIndex(gFrontPoint.barePhi());
190  SubLayerCrossing frontSLC( 0, frontIndex, gFrontPoint);
191 
192 
193 
194  pair<bool,double> backPath = crossing.pathLength( *theBackDisk);
195  if (!backPath.first) SubLayerCrossings();
196 
197 
198  GlobalPoint gBackPoint( crossing.position(backPath.second));
199  LogDebug("TkDetLayers")
200  << "in TECLayer,back crossing point: r,z,phi: ("
201  << gBackPoint.perp() << ","
202  << gFrontPoint.z() << ","
203  << gBackPoint.phi() << ")" << endl;
204 
205 
206  int backIndex = theBackBinFinder.binIndex(gBackPoint.barePhi());
207  SubLayerCrossing backSLC( 1, backIndex, gBackPoint);
208 
209 
210  // 0ss: frontDisk has index=0, backDisk has index=1
211  float frontDist = std::abs(Geom::deltaPhi( gFrontPoint.barePhi(),
212  theFrontComps[frontIndex]->surface().phi()) );
213  float backDist = std::abs(Geom::deltaPhi( gBackPoint.barePhi(),
214  theBackComps[backIndex]->surface().phi()) );
215 
216 
217  if (frontDist < backDist) {
218  return SubLayerCrossings( frontSLC, backSLC, 0);
219  }
220  else {
221  return SubLayerCrossings( backSLC, frontSLC, 1);
222  }
223 }
#define LogDebug(id)
std::vector< const TECPetal * > theBackComps
Definition: TECLayer.h:72
Definition: DDAxes.h:10
GlobalPoint globalPosition() const
ReferenceCountingPointer< BoundDisk > theFrontDisk
Definition: TECLayer.h:75
virtual int binIndex(T phi) const
returns an index in the valid range for the bin that contains phi
ReferenceCountingPointer< BoundDisk > theBackDisk
Definition: TECLayer.h:76
BinFinderPhi theBackBinFinder
Definition: TECLayer.h:81
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
BinFinderPhi theFrontBinFinder
Definition: TECLayer.h:80
GlobalVector globalMomentum() const
std::vector< const TECPetal * > theFrontComps
Definition: TECLayer.h:71
void TECLayer::groupedCompatibleDetsV ( const TrajectoryStateOnSurface tsos,
const Propagator prop,
const MeasurementEstimator est,
std::vector< DetGroup > &  result 
) const
virtual

Reimplemented from GeometricSearchDet.

Definition at line 127 of file TECLayer.cc.

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

130  {
131  SubLayerCrossings crossings;
132  crossings = computeCrossings( tsos, prop.propagationDirection());
133  if(! crossings.isValid()) return;
134 
135  vector<DetGroup> closestResult;
136  addClosest( tsos, prop, est, crossings.closest(), closestResult);
137  LogDebug("TkDetLayers") << "in TECLayer, closestResult.size(): " << closestResult.size();
138 
139  // this differs from other groupedCompatibleDets logic, which DON'T check next in such cases!!!
140  if(closestResult.empty()){
141  vector<DetGroup> nextResult;
142  addClosest( tsos, prop, est, crossings.other(), nextResult);
143  LogDebug("TkDetLayers") << "in TECLayer, nextResult.size(): " << nextResult.size();
144  if(nextResult.empty()) return;
145 
146 
147  DetGroupElement nextGel( nextResult.front().front());
148  int crossingSide = LayerCrossingSide::endcapSide( nextGel.trajectoryState(), prop);
149  DetGroupMerger::orderAndMergeTwoLevels( std::move(closestResult), std::move(nextResult), result,
150  crossings.closestIndex(), crossingSide);
151  }
152  else {
153  DetGroupElement closestGel( closestResult.front().front());
154  float phiWindow = tkDetUtil::computeWindowSize( closestGel.det(), closestGel.trajectoryState(), est);
155  searchNeighbors( tsos, prop, est, crossings.closest(), phiWindow,
156  closestResult, false);
157  vector<DetGroup> nextResult;
158  searchNeighbors( tsos, prop, est, crossings.other(), phiWindow,
159  nextResult, true);
160 
161  int crossingSide = LayerCrossingSide::endcapSide( closestGel.trajectoryState(), prop);
162  DetGroupMerger::orderAndMergeTwoLevels( std::move(closestResult), std::move(nextResult), result,
163  crossings.closestIndex(), crossingSide);
164  }
165 }
#define LogDebug(id)
int closestIndex() const
virtual PropagationDirection propagationDirection() const GCC11_FINAL
Definition: Propagator.h:155
float computeWindowSize(const GeomDet *det, const TrajectoryStateOnSurface &tsos, const MeasurementEstimator &est)
Definition: TkDetUtil.cc:10
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))
Definition: TECLayer.cc:259
bool addClosest(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, std::vector< DetGroup > &result) const __attribute__((hot))
Definition: TECLayer.cc:225
SubLayerCrossings computeCrossings(const TrajectoryStateOnSurface &startingState, PropagationDirection propDir) const __attribute__((hot))
Definition: TECLayer.cc:167
tuple result
Definition: query.py:137
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)
void TECLayer::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 259 of file TECLayer.cc.

References Clusterizer1DCommons::add(), PV3DBase< T, PVType, FrameType >::barePhi(), PeriodicBinFinderInPhi< T >::binIndex(), SubLayerCrossing::closestDetIndex(), muon::overlap(), phi, SubLayerCrossing::position(), subLayer(), SubLayerCrossing::subLayerIndex(), ForwardDetLayer::surface(), theBackBinFinder, and theFrontBinFinder.

Referenced by groupedCompatibleDetsV().

266 {
267  GlobalPoint gCrossingPos = crossing.position();
268  auto gphi = gCrossingPos.barePhi();
269 
270  const auto & sLayer( subLayer( crossing.subLayerIndex()));
271 
272  int closestIndex = crossing.closestDetIndex();
273  int negStartIndex = closestIndex-1;
274  int posStartIndex = closestIndex+1;
275 
276  if (checkClosest) { // must decide if the closest is on the neg or pos side
277  if ( PhiLess()( gphi, sLayer[closestIndex]->surface().phi())) {
278  posStartIndex = closestIndex;
279  }
280  else {
281  negStartIndex = closestIndex;
282  }
283  }
284 
285  const BinFinderPhi& binFinder = (crossing.subLayerIndex()==0 ? theFrontBinFinder : theBackBinFinder);
286 
287  typedef CompatibleDetToGroupAdder Adder;
288  int half = sLayer.size()/2; // to check if dets are called twice....
289  for (int idet=negStartIndex; idet >= negStartIndex - half; idet--) {
290  const auto & neighborPetal = *sLayer[binFinder.binIndex(idet)];
291  if (!overlap( gphi, neighborPetal, window)) break;
292  if (!Adder::add( neighborPetal, tsos, prop, est, result)) break;
293  // maybe also add shallow crossing angle test here???
294  }
295  for (int idet=posStartIndex; idet < posStartIndex + half; idet++) {
296  const auto & neighborPetal = *sLayer[binFinder.binIndex(idet)];
297  if (!overlap( gphi, neighborPetal, window)) break;
298  if (!Adder::add( neighborPetal, tsos, prop, est, result)) break;
299  // maybe also add shallow crossing angle test here???
300  }
301 }
def window
Definition: svgfig.py:642
int closestDetIndex() const
void add(const std::vector< const T * > &source, std::vector< const T * > &dest)
const std::vector< const TECPetal * > & subLayer(int ind) const
Definition: TECLayer.h:61
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
T barePhi() const
Definition: PV3DBase.h:68
virtual const BoundSurface & surface() const GCC11_FINAL
The surface of the GeometricSearchDet.
int subLayerIndex() const
tuple result
Definition: query.py:137
BinFinderPhi theBackBinFinder
Definition: TECLayer.h:81
BinFinderPhi theFrontBinFinder
Definition: TECLayer.h:80
PeriodicBinFinderInPhi< float > BinFinderPhi
Definition: TECLayer.h:78
Definition: DDAxes.h:10
virtual SubDetector TECLayer::subDetector ( ) const
inlinevirtual

The type of detector (PixelBarrel, PixelEndcap, TIB, TOB, TID, TEC, CSC, DT, RPCBarrel, RPCEndcap)

Implements DetLayer.

Definition at line 34 of file TECLayer.h.

References GeomDetEnumerators::TEC.

const std::vector<const TECPetal*>& TECLayer::subLayer ( int  ind) const
inlineprivate

Definition at line 61 of file TECLayer.h.

References theBackComps, and theFrontComps.

Referenced by addClosest(), and searchNeighbors().

61  {
62  return (ind==0 ? theFrontComps : theBackComps);
63  }
std::vector< const TECPetal * > theBackComps
Definition: TECLayer.h:72
std::vector< const TECPetal * > theFrontComps
Definition: TECLayer.h:71

Member Data Documentation

BinFinderPhi TECLayer::theBackBinFinder
protected

Definition at line 81 of file TECLayer.h.

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

std::vector<const TECPetal*> TECLayer::theBackComps
protected

Definition at line 72 of file TECLayer.h.

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

ReferenceCountingPointer<BoundDisk> TECLayer::theBackDisk
protected

Definition at line 76 of file TECLayer.h.

Referenced by computeCrossings(), and TECLayer().

std::vector<const GeomDet*> TECLayer::theBasicComps
protected

Definition at line 69 of file TECLayer.h.

Referenced by basicComponents(), and TECLayer().

std::vector<const GeometricSearchDet*> TECLayer::theComps
protected

Definition at line 68 of file TECLayer.h.

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

BinFinderPhi TECLayer::theFrontBinFinder
protected

Definition at line 80 of file TECLayer.h.

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

std::vector<const TECPetal*> TECLayer::theFrontComps
protected

Definition at line 71 of file TECLayer.h.

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

ReferenceCountingPointer<BoundDisk> TECLayer::theFrontDisk
protected

Definition at line 75 of file TECLayer.h.

Referenced by computeCrossings(), and TECLayer().