CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
GeometricSearchTracker Class Reference

#include <GeometricSearchTracker.h>

Inheritance diagram for GeometricSearchTracker:
DetLayerGeometry

Public Member Functions

std::vector< DetLayer const * > const & allLayers () const
 
std::vector< BarrelDetLayer const * > const & barrelLayers () const
 
const DetLayerdetLayer (const DetId &id) const
 obsolete method. Use idToLayer() instead. More...
 
std::vector< ForwardDetLayer const * > const & forwardLayers () const
 
 GeometricSearchTracker (const std::vector< BarrelDetLayer const * > &pxlBar, const std::vector< BarrelDetLayer const * > &tib, const std::vector< BarrelDetLayer const * > &tob, const std::vector< ForwardDetLayer const * > &negPxlFwd, const std::vector< ForwardDetLayer const * > &negTid, const std::vector< ForwardDetLayer const * > &negTec, const std::vector< ForwardDetLayer const * > &posPxlFwd, const std::vector< ForwardDetLayer const * > &posTid, const std::vector< ForwardDetLayer const * > &posTec, const TrackerTopology *tTopo) __attribute__((cold))
 
const DetLayeridToLayer (const DetId &detId) const override
 Give the DetId of a module, returns the pointer to the corresponding DetLayer. More...
 
std::vector< ForwardDetLayer const * > const & negForwardLayers () const
 
std::vector< ForwardDetLayer const * > const & negPixelForwardLayers () const
 
std::vector< ForwardDetLayer const * > const & negTecLayers () const
 
std::vector< ForwardDetLayer const * > const & negTidLayers () const
 
std::vector< BarrelDetLayer const * > const & pixelBarrelLayers () const
 
std::vector< ForwardDetLayer const * > const & posForwardLayers () const
 
std::vector< ForwardDetLayer const * > const & posPixelForwardLayers () const
 
std::vector< ForwardDetLayer const * > const & posTecLayers () const
 
std::vector< ForwardDetLayer const * > const & posTidLayers () const
 
std::vector< BarrelDetLayer const * > const & tibLayers () const
 
std::vector< BarrelDetLayer const * > const & tobLayers () const
 
 ~GeometricSearchTracker () override __attribute__((cold))
 
- Public Member Functions inherited from DetLayerGeometry
 DetLayerGeometry ()
 
virtual ~DetLayerGeometry ()
 

Private Attributes

std::vector< DetLayer const * > theAllLayers
 
std::vector< BarrelDetLayer const * > theBarrelLayers
 
std::vector< ForwardDetLayer const * > theForwardLayers
 
std::vector< ForwardDetLayer const * > theNegForwardLayers
 
std::vector< ForwardDetLayer const * > theNegPixelForwardLayers
 
std::vector< ForwardDetLayer const * > theNegTecLayers
 
std::vector< ForwardDetLayer const * > theNegTidLayers
 
std::vector< BarrelDetLayer const * > thePixelBarrelLayers
 
std::vector< ForwardDetLayer const * > thePosForwardLayers
 
std::vector< ForwardDetLayer const * > thePosPixelForwardLayers
 
std::vector< ForwardDetLayer const * > thePosTecLayers
 
std::vector< ForwardDetLayer const * > thePosTidLayers
 
std::vector< BarrelDetLayer const * > theTibLayers
 
std::vector< BarrelDetLayer const * > theTobLayers
 
const TrackerTopologytheTrkTopo
 

Detailed Description

GeometricSearchTracker implementation

Definition at line 14 of file GeometricSearchTracker.h.

Constructor & Destructor Documentation

GeometricSearchTracker::GeometricSearchTracker ( const std::vector< BarrelDetLayer const * > &  pxlBar,
const std::vector< BarrelDetLayer const * > &  tib,
const std::vector< BarrelDetLayer const * > &  tob,
const std::vector< ForwardDetLayer const * > &  negPxlFwd,
const std::vector< ForwardDetLayer const * > &  negTid,
const std::vector< ForwardDetLayer const * > &  negTec,
const std::vector< ForwardDetLayer const * > &  posPxlFwd,
const std::vector< ForwardDetLayer const * > &  posTid,
const std::vector< ForwardDetLayer const * > &  posTec,
const TrackerTopology tTopo 
)

Definition at line 8 of file GeometricSearchTracker.cc.

References barrelLayers(), cmsLHEtoEOSManager::l, negForwardLayers(), negPixelForwardLayers(), negTecLayers(), negTidLayers(), pixelBarrelLayers(), posForwardLayers(), posPixelForwardLayers(), posTecLayers(), posTidLayers(), DetLayer::setSeqNum(), theAllLayers, theBarrelLayers, theForwardLayers, theNegForwardLayers, theNegPixelForwardLayers, theNegTecLayers, theNegTidLayers, thePixelBarrelLayers, thePosForwardLayers, thePosPixelForwardLayers, thePosTecLayers, thePosTidLayers, theTibLayers, theTobLayers, tibLayers(), and tobLayers().

18  : thePixelBarrelLayers(pxlBar.begin(), pxlBar.end()),
19  theTibLayers(tib.begin(), tib.end()),
20  theTobLayers(tob.begin(), tob.end()),
21  theNegPixelForwardLayers(negPxlFwd.begin(), negPxlFwd.end()),
22  theNegTidLayers(negTid.begin(), negTid.end()),
23  theNegTecLayers(negTec.begin(), negTec.end()),
24  thePosPixelForwardLayers(posPxlFwd.begin(), posPxlFwd.end()),
25  thePosTidLayers(posTid.begin(), posTid.end()),
26  thePosTecLayers(posTec.begin(), posTec.end()),
27  theTrkTopo(tTopo) {
29  theBarrelLayers.insert(theBarrelLayers.end(), theTibLayers.begin(), theTibLayers.end());
30  theBarrelLayers.insert(theBarrelLayers.end(), theTobLayers.begin(), theTobLayers.end());
31 
35 
39 
42  theAllLayers.assign(theBarrelLayers.begin(), theBarrelLayers.end());
43  theAllLayers.insert(theAllLayers.end(), theForwardLayers.begin(), theForwardLayers.end());
44 
45  // number the layers
46  int sq = 0;
47  for (auto l : theAllLayers)
48  const_cast<DetLayer&>(*l).setSeqNum(sq++);
49 
50  edm::LogInfo("TkDetLayers") << "------ GeometricSearchTracker constructed with: ------"
51  << "\n"
52  << "n pxlBarLayers: " << this->pixelBarrelLayers().size() << "\n"
53  << "n tibLayers: " << this->tibLayers().size() << "\n"
54  << "n tobLayers: " << this->tobLayers().size() << "\n"
55  << "n negPxlFwdLayers: " << this->negPixelForwardLayers().size() << "\n"
56  << "n posPxlFwdLayers: " << this->posPixelForwardLayers().size() << "\n"
57  << "n negTidLayers: " << this->negTidLayers().size() << "\n"
58  << "n posTidLayers: " << this->posTidLayers().size() << "\n"
59  << "n negTecLayers: " << this->negTecLayers().size() << "\n"
60  << "n posTecLayers: " << this->posTecLayers().size() << "\n"
61 
62  << "n barreLayers: " << this->barrelLayers().size() << "\n"
63  << "n negforwardLayers: " << this->negForwardLayers().size() << "\n"
64  << "n posForwardLayers: " << this->posForwardLayers().size()
65  << "\nn Total : " << theAllLayers.size() << " " << sq << std::endl;
66 
67  for (auto l : theAllLayers)
68  edm::LogInfo("TkDetLayers") << (*l).seqNum() << ": " << (*l).subDetector() << ", ";
69  edm::LogInfo("TkDetLayers") << std::endl;
70 }
std::vector< BarrelDetLayer const * > theBarrelLayers
std::vector< ForwardDetLayer const * > theNegTidLayers
std::vector< ForwardDetLayer const * > theForwardLayers
void setSeqNum(int sq)
Definition: DetLayer.h:36
std::vector< ForwardDetLayer const * > const & posForwardLayers() const
std::vector< ForwardDetLayer const * > const & posPixelForwardLayers() const
std::vector< ForwardDetLayer const * > thePosTidLayers
std::vector< BarrelDetLayer const * > const & tobLayers() const
std::vector< DetLayer const * > theAllLayers
std::vector< ForwardDetLayer const * > const & negPixelForwardLayers() const
std::vector< ForwardDetLayer const * > thePosPixelForwardLayers
std::vector< BarrelDetLayer const * > thePixelBarrelLayers
std::vector< ForwardDetLayer const * > const & negForwardLayers() const
std::vector< BarrelDetLayer const * > theTibLayers
std::vector< BarrelDetLayer const * > const & pixelBarrelLayers() const
std::vector< ForwardDetLayer const * > theNegForwardLayers
std::vector< ForwardDetLayer const * > thePosTecLayers
std::vector< BarrelDetLayer const * > const & tibLayers() const
std::vector< ForwardDetLayer const * > const & posTecLayers() const
std::vector< ForwardDetLayer const * > const & negTidLayers() const
const TrackerTopology * theTrkTopo
std::vector< ForwardDetLayer const * > const & posTidLayers() const
std::vector< ForwardDetLayer const * > theNegPixelForwardLayers
std::vector< ForwardDetLayer const * > const & negTecLayers() const
std::vector< BarrelDetLayer const * > theTobLayers
std::vector< BarrelDetLayer const * > const & barrelLayers() const
std::vector< ForwardDetLayer const * > theNegTecLayers
std::vector< ForwardDetLayer const * > thePosForwardLayers
GeometricSearchTracker::~GeometricSearchTracker ( )
override

Definition at line 72 of file GeometricSearchTracker.cc.

References cmsLHEtoEOSManager::l, and theAllLayers.

72  {
73  for (auto l : theAllLayers)
74  delete const_cast<DetLayer*>(l);
75 }
std::vector< DetLayer const * > theAllLayers

Member Function Documentation

std::vector<DetLayer const*> const& GeometricSearchTracker::allLayers ( ) const
inline
std::vector<BarrelDetLayer const*> const& GeometricSearchTracker::barrelLayers ( ) const
inline
const DetLayer* GeometricSearchTracker::detLayer ( const DetId id) const
inline

obsolete method. Use idToLayer() instead.

Definition at line 53 of file GeometricSearchTracker.h.

Referenced by CkfDebugger::analyseRecHitNotFound(), MuonCkfTrajectoryBuilder::findCompatibleMeasurements(), NuclearInteractionFinder::findMeasurementsFromTSOS(), BaseCkfTrajectoryBuilder::findStateAndLayers(), SeedFinderSelector::pass(), and BaseCkfTrajectoryBuilder::seedMeasurements().

53 { return idToLayer(id); };
const DetLayer * idToLayer(const DetId &detId) const override
Give the DetId of a module, returns the pointer to the corresponding DetLayer.
std::vector<ForwardDetLayer const*> const& GeometricSearchTracker::forwardLayers ( ) const
inline

Definition at line 33 of file GeometricSearchTracker.h.

References theForwardLayers.

33 { return theForwardLayers; }
std::vector< ForwardDetLayer const * > theForwardLayers
const DetLayer * GeometricSearchTracker::idToLayer ( const DetId detId) const
overridevirtual

Give the DetId of a module, returns the pointer to the corresponding DetLayer.

Reimplemented from DetLayerGeometry.

Definition at line 80 of file GeometricSearchTracker.cc.

References PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, TrackerTopology::pxbLayer(), TrackerTopology::pxfDisk(), TrackerTopology::pxfSide(), StripSubdetector::TEC, TrackerTopology::tecSide(), TrackerTopology::tecWheel(), theNegPixelForwardLayers, theNegTecLayers, theNegTidLayers, thePixelBarrelLayers, thePosPixelForwardLayers, thePosTecLayers, thePosTidLayers, theTibLayers, theTobLayers, theTrkTopo, StripSubdetector::TIB, TrackerTopology::tibLayer(), StripSubdetector::TID, TrackerTopology::tidSide(), TrackerTopology::tidWheel(), StripSubdetector::TOB, and TrackerTopology::tobLayer().

Referenced by GlobalDetLayerGeometry::idToLayer(), and posTecLayers().

80  {
81  switch (id.subdetId()) {
83  return theTibLayers[theTrkTopo->tibLayer(id) - 1];
84  break;
85 
87  return theTobLayers[theTrkTopo->tobLayer(id) - 1];
88  break;
89 
91  if (theTrkTopo->tidSide(id) == 1) {
92  return theNegTidLayers[theTrkTopo->tidWheel(id) - 1];
93  } else if (theTrkTopo->tidSide(id) == 2) {
94  return thePosTidLayers[theTrkTopo->tidWheel(id) - 1];
95  }
96  break;
97 
99  if (theTrkTopo->tecSide(id) == 1) {
100  return theNegTecLayers[theTrkTopo->tecWheel(id) - 1];
101  } else if (theTrkTopo->tecSide(id) == 2) {
102  return thePosTecLayers[theTrkTopo->tecWheel(id) - 1];
103  }
104  break;
105 
107  return thePixelBarrelLayers[theTrkTopo->pxbLayer(id) - 1];
108  break;
109 
111  if (theTrkTopo->pxfSide(id) == 1) {
113  } else if (theTrkTopo->pxfSide(id) == 2) {
115  }
116  break;
117 
118  default:
119  edm::LogError("TkDetLayers") << "ERROR:layer not found!";
120  // throw(something);
121  }
122  return nullptr; //just to avoid compile warnings
123 }
static constexpr auto TEC
std::vector< ForwardDetLayer const * > theNegTidLayers
unsigned int tibLayer(const DetId &id) const
unsigned int pxfDisk(const DetId &id) const
std::vector< ForwardDetLayer const * > thePosTidLayers
unsigned int tidWheel(const DetId &id) const
unsigned int tidSide(const DetId &id) const
std::vector< ForwardDetLayer const * > thePosPixelForwardLayers
std::vector< BarrelDetLayer const * > thePixelBarrelLayers
std::vector< BarrelDetLayer const * > theTibLayers
static constexpr auto TOB
std::vector< ForwardDetLayer const * > thePosTecLayers
unsigned int pxbLayer(const DetId &id) const
static constexpr auto TIB
const TrackerTopology * theTrkTopo
std::vector< ForwardDetLayer const * > theNegPixelForwardLayers
unsigned int pxfSide(const DetId &id) const
unsigned int tecWheel(const DetId &id) const
static constexpr auto TID
std::vector< BarrelDetLayer const * > theTobLayers
unsigned int tobLayer(const DetId &id) const
std::vector< ForwardDetLayer const * > theNegTecLayers
unsigned int tecSide(const DetId &id) const
std::vector<ForwardDetLayer const*> const& GeometricSearchTracker::negForwardLayers ( ) const
inline
std::vector<ForwardDetLayer const*> const& GeometricSearchTracker::negPixelForwardLayers ( ) const
inline
std::vector<ForwardDetLayer const*> const& GeometricSearchTracker::negTecLayers ( ) const
inline
std::vector<ForwardDetLayer const*> const& GeometricSearchTracker::negTidLayers ( ) const
inline
std::vector<BarrelDetLayer const*> const& GeometricSearchTracker::pixelBarrelLayers ( ) const
inline
std::vector<ForwardDetLayer const*> const& GeometricSearchTracker::posForwardLayers ( ) const
inline
std::vector<ForwardDetLayer const*> const& GeometricSearchTracker::posPixelForwardLayers ( ) const
inline
std::vector<ForwardDetLayer const*> const& GeometricSearchTracker::posTecLayers ( ) const
inline
std::vector<ForwardDetLayer const*> const& GeometricSearchTracker::posTidLayers ( ) const
inline
std::vector<BarrelDetLayer const*> const& GeometricSearchTracker::tibLayers ( ) const
inline
std::vector<BarrelDetLayer const*> const& GeometricSearchTracker::tobLayers ( ) const
inline

Member Data Documentation

std::vector<DetLayer const*> GeometricSearchTracker::theAllLayers
private
std::vector<BarrelDetLayer const*> GeometricSearchTracker::theBarrelLayers
private

Definition at line 57 of file GeometricSearchTracker.h.

Referenced by barrelLayers(), and GeometricSearchTracker().

std::vector<ForwardDetLayer const*> GeometricSearchTracker::theForwardLayers
private

Definition at line 58 of file GeometricSearchTracker.h.

Referenced by forwardLayers(), and GeometricSearchTracker().

std::vector<ForwardDetLayer const*> GeometricSearchTracker::theNegForwardLayers
private

Definition at line 59 of file GeometricSearchTracker.h.

Referenced by GeometricSearchTracker(), and negForwardLayers().

std::vector<ForwardDetLayer const*> GeometricSearchTracker::theNegPixelForwardLayers
private
std::vector<ForwardDetLayer const*> GeometricSearchTracker::theNegTecLayers
private

Definition at line 68 of file GeometricSearchTracker.h.

Referenced by GeometricSearchTracker(), idToLayer(), and negTecLayers().

std::vector<ForwardDetLayer const*> GeometricSearchTracker::theNegTidLayers
private

Definition at line 67 of file GeometricSearchTracker.h.

Referenced by GeometricSearchTracker(), idToLayer(), and negTidLayers().

std::vector<BarrelDetLayer const*> GeometricSearchTracker::thePixelBarrelLayers
private

Definition at line 62 of file GeometricSearchTracker.h.

Referenced by GeometricSearchTracker(), idToLayer(), and pixelBarrelLayers().

std::vector<ForwardDetLayer const*> GeometricSearchTracker::thePosForwardLayers
private

Definition at line 60 of file GeometricSearchTracker.h.

Referenced by GeometricSearchTracker(), and posForwardLayers().

std::vector<ForwardDetLayer const*> GeometricSearchTracker::thePosPixelForwardLayers
private
std::vector<ForwardDetLayer const*> GeometricSearchTracker::thePosTecLayers
private

Definition at line 71 of file GeometricSearchTracker.h.

Referenced by GeometricSearchTracker(), idToLayer(), and posTecLayers().

std::vector<ForwardDetLayer const*> GeometricSearchTracker::thePosTidLayers
private

Definition at line 70 of file GeometricSearchTracker.h.

Referenced by GeometricSearchTracker(), idToLayer(), and posTidLayers().

std::vector<BarrelDetLayer const*> GeometricSearchTracker::theTibLayers
private

Definition at line 63 of file GeometricSearchTracker.h.

Referenced by GeometricSearchTracker(), idToLayer(), and tibLayers().

std::vector<BarrelDetLayer const*> GeometricSearchTracker::theTobLayers
private

Definition at line 64 of file GeometricSearchTracker.h.

Referenced by GeometricSearchTracker(), idToLayer(), and tobLayers().

const TrackerTopology* GeometricSearchTracker::theTrkTopo
private

Definition at line 73 of file GeometricSearchTracker.h.

Referenced by idToLayer().