CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
Phase2OTtiltedBarrelLayer Class Referencefinal

#include <Phase2OTtiltedBarrelLayer.h>

Inheritance diagram for Phase2OTtiltedBarrelLayer:
TBPLayer TBLayer BarrelDetLayer DetLayer GeometricSearchDet

Public Member Functions

void groupedCompatibleDetsV (const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const final
 
 Phase2OTtiltedBarrelLayer (std::vector< const Phase2OTBarrelRod *> &innerRods, std::vector< const Phase2OTBarrelRod *> &outerRods, std::vector< const Phase2EndcapRing *> &negRings, std::vector< const Phase2EndcapRing *> &posRings)
 
 ~Phase2OTtiltedBarrelLayer () override
 
- Public Member Functions inherited from TBPLayer
BoundCylindercylinder (const std::vector< const GeometricSearchDet *> &rods) const __attribute__((cold))
 
 TBPLayer (std::vector< const PixelRod *> &inner, std::vector< const PixelRod *> &outer) __attribute__((cold))
 
 TBPLayer (std::vector< const TOBRod *> &inner, std::vector< const TOBRod *> &outer) __attribute__((cold))
 
 TBPLayer (std::vector< const Phase2OTBarrelRod *> &inner, std::vector< const Phase2OTBarrelRod *> &outer) __attribute__((cold))
 
 ~TBPLayer () override __attribute__((cold))
 
- Public Member Functions inherited from TBLayer
const std::vector< const GeomDet * > & basicComponents () const final
 
const std::vector< const GeometricSearchDet * > & components () const final __attribute__((cold))
 Returns basic components, if any. More...
 
void groupedCompatibleDetsV (const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const override __attribute__((hot))
 
SubDetector subDetector () const final
 The type of detector (PixelBarrel, PixelEndcap, TIB, TOB, TID, TEC, CSC, DT, RPCBarrel, RPCEndcap) More...
 
template<typename TDET >
 TBLayer (std::vector< const TDET *> &inner, std::vector< const TDET *> &outer, GeomDetEnumerators::SubDetector ime)
 
 ~TBLayer () override __attribute__((cold))
 
- Public Member Functions inherited from BarrelDetLayer
 BarrelDetLayer (bool doHaveGroup)
 
std::pair< bool, TrajectoryStateOnSurfacecompatible (const TrajectoryStateOnSurface &ts, const Propagator &, const MeasurementEstimator &) const final
 
bool contains (const Local3DPoint &p) const
 
Location location () const final
 DetLayer interface. More...
 
virtual const BoundCylinderspecificSurface () const final
 Extension of the interface. More...
 
const BoundSurfacesurface () const final
 GeometricSearchDet interface. More...
 
 ~BarrelDetLayer () override
 
- Public Member Functions inherited from DetLayer
 DetLayer (bool doHaveGroup, bool ibar)
 
bool isBarrel () const
 
bool isForward () const
 
int seqNum () const
 
void setSeqNum (int sq)
 
 ~DetLayer () override
 
- 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 Attributes

ReferenceCountingPointer< BoundCylindertheCylinder
 
std::vector< const GeometricSearchDet * > theNegativeRingsComps
 
std::vector< const GeometricSearchDet * > thePositiveRingsComps
 

Additional Inherited Members

- Public Types inherited from TBPLayer
typedef PeriodicBinFinderInPhi< float > BinFinderType
 
- Public Types inherited from DetLayer
typedef GeomDetEnumerators::Location Location
 
typedef GeomDetEnumerators::SubDetector SubDetector
 
- Public Types inherited from GeometricSearchDet
typedef std::pair< const GeomDet *, TrajectoryStateOnSurfaceDetWithState
 
typedef BoundSurface::PositionType PositionType
 
typedef BoundSurface::RotationType RotationType
 
typedef TrajectoryStateOnSurface TrajectoryState
 
- Protected Member Functions inherited from TBLayer
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))
 
bool isPhase2OT () const
 
bool isPixel () const
 
bool isTIB () const
 
bool isTOB () const
 
const std::vector< const GeometricSearchDet * > & subLayer (int ind) const
 
- Protected Member Functions inherited from BarrelDetLayer
SimpleCylinderBounds const & bounds () const
 
virtual BoundCylindercomputeSurface ()
 
virtual void initialize ()
 
void setSurface (BoundCylinder *cp)
 
- Protected Attributes inherited from TBLayer
GeomDetEnumerators::SubDetector me
 
std::vector< const GeomDet * > theBasicComps
 
std::vector< const GeometricSearchDet * > theComps
 
std::vector< const GeometricSearchDet * > theInnerComps
 
ReferenceCountingPointer< BoundCylindertheInnerCylinder
 
std::vector< const GeometricSearchDet * > theOuterComps
 
ReferenceCountingPointer< BoundCylindertheOuterCylinder
 
- Protected Attributes inherited from GeometricSearchDet
bool haveGroups
 
GeomDetCompatibilityChecker theCompatibilityChecker
 

Detailed Description

A concrete implementation for Phase2OTtiltedBarrel layer built out of BarrelPhase2OTBarrelRod

Definition at line 15 of file Phase2OTtiltedBarrelLayer.h.

Constructor & Destructor Documentation

◆ Phase2OTtiltedBarrelLayer()

Phase2OTtiltedBarrelLayer::Phase2OTtiltedBarrelLayer ( std::vector< const Phase2OTBarrelRod *> &  innerRods,
std::vector< const Phase2OTBarrelRod *> &  outerRods,
std::vector< const Phase2EndcapRing *> &  negRings,
std::vector< const Phase2EndcapRing *> &  posRings 
)

Definition at line 17 of file Phase2OTtiltedBarrelLayer.cc.

References TBLayer::components(), TBPLayer::cylinder(), mps_fire::end, mps_fire::i, BarrelDetLayer::initialize(), LogDebug, LogTrace, TBLayer::theBasicComps, TBLayer::theComps, theCylinder, theNegativeRingsComps, and thePositiveRingsComps.

21  : Phase2OTBarrelLayer(innerRods, outerRods),
22  theNegativeRingsComps(negRings.begin(), negRings.end()),
23  thePositiveRingsComps(posRings.begin(), posRings.end()) {
24  std::vector<const GeometricSearchDet*> theComps;
26  theComps.insert(theComps.end(), negRings.begin(), negRings.end());
27  theComps.insert(theComps.end(), posRings.begin(), posRings.end());
28 
29  for (vector<const GeometricSearchDet*>::const_iterator it = theComps.begin(); it != theComps.end(); it++) {
30  theBasicComps.insert(theBasicComps.end(), (**it).basicComponents().begin(), (**it).basicComponents().end());
31  }
32 
35 
36 #ifdef EDM_ML_DEBUG
37  //--------- DEBUG INFO --------------
38  LogDebug("TkDetLayers") << "==== DEBUG Phase2OTtiltedBarrelLayer =====";
39  LogTrace("TkDetLayers") << "Phase2OTtiltedBarrelLayer Cyl r,lenght: " << theCylinder->radius() << " , "
40  << theCylinder->bounds().length();
41 
42  for (vector<const GeometricSearchDet*>::const_iterator i = theNegativeRingsComps.begin();
43  i != theNegativeRingsComps.end();
44  i++) {
45  LogTrace("TkDetLayers") << "negative rings in Phase2OT tilted barrel pos z,perp,eta,phi: " << (**i).position().z()
46  << " , " << (**i).position().perp() << " , " << (**i).position().eta() << " , "
47  << (**i).position().phi();
48  }
49 
50  for (vector<const GeometricSearchDet*>::const_iterator i = Phase2OTBarrelLayer::components().begin();
52  i++) {
53  LogTrace("TkDetLayers") << "rods in Phase2OT tilted barrel pos z,perp,eta,phi: " << (**i).position().z() << " , "
54  << (**i).position().perp() << " , " << (**i).position().eta() << " , "
55  << (**i).position().phi();
56  }
57 
58  for (vector<const GeometricSearchDet*>::const_iterator i = thePositiveRingsComps.begin();
59  i != thePositiveRingsComps.end();
60  i++) {
61  LogTrace("TkDetLayers") << "positive rings in Phase2OT tilted barrel pos z,perp,eta,phi: " << (**i).position().z()
62  << " , " << (**i).position().perp() << " , " << (**i).position().eta() << " , "
63  << (**i).position().phi();
64  }
65  LogTrace("TkDetLayers") << "==== end DEBUG Phase2OTtiltedBarrelLayer =====";
66  //-----------------------------------
67 #endif
68 }
const std::vector< const GeometricSearchDet * > & components() const final __attribute__((cold))
Returns basic components, if any.
Definition: TBLayer.h:25
std::vector< const GeometricSearchDet * > thePositiveRingsComps
virtual void initialize()
TBPLayer Phase2OTBarrelLayer
std::vector< const GeometricSearchDet * > theComps
Definition: TBLayer.h:69
#define LogTrace(id)
std::vector< const GeometricSearchDet * > theNegativeRingsComps
ReferenceCountingPointer< BoundCylinder > theCylinder
std::vector< const GeomDet * > theBasicComps
Definition: TBLayer.h:72
BoundCylinder * cylinder(const std::vector< const GeometricSearchDet *> &rods) const __attribute__((cold))
Definition: TBPLayer.cc:66
#define LogDebug(id)

◆ ~Phase2OTtiltedBarrelLayer()

Phase2OTtiltedBarrelLayer::~Phase2OTtiltedBarrelLayer ( )
override

Definition at line 70 of file Phase2OTtiltedBarrelLayer.cc.

References mps_fire::i, theNegativeRingsComps, and thePositiveRingsComps.

70  {
71  vector<const GeometricSearchDet*>::const_iterator i;
72  for (i = theNegativeRingsComps.begin(); i != theNegativeRingsComps.end(); i++) {
73  delete *i;
74  }
75  for (i = thePositiveRingsComps.begin(); i != thePositiveRingsComps.end(); i++) {
76  delete *i;
77  }
78 }
std::vector< const GeometricSearchDet * > thePositiveRingsComps
std::vector< const GeometricSearchDet * > theNegativeRingsComps

Member Function Documentation

◆ groupedCompatibleDetsV()

void Phase2OTtiltedBarrelLayer::groupedCompatibleDetsV ( const TrajectoryStateOnSurface tsos,
const Propagator prop,
const MeasurementEstimator est,
std::vector< DetGroup > &  result 
) const
finalvirtual

Reimplemented from GeometricSearchDet.

Definition at line 80 of file Phase2OTtiltedBarrelLayer.cc.

References TrajectoryStateOnSurface::globalPosition(), TBLayer::groupedCompatibleDetsV(), LogDebug, LogTrace, mps_fire::result, relativeConstraints::ring, theNegativeRingsComps, thePositiveRingsComps, and PV3DBase< T, PVType, FrameType >::z().

83  {
84  vector<DetGroup> closestResultRods;
85  vector<DetGroup> closestResultNeg;
86  vector<DetGroup> closestResultPos;
87  Phase2OTBarrelLayer::groupedCompatibleDetsV(tsos, prop, est, closestResultRods);
88  if (tsos.globalPosition().z() < 0) {
89  for (auto& ring : theNegativeRingsComps) {
90  ring->groupedCompatibleDetsV(tsos, prop, est, closestResultNeg);
91  }
92  } else {
93  for (auto& ring : thePositiveRingsComps) {
94  ring->groupedCompatibleDetsV(tsos, prop, est, closestResultPos);
95  }
96  }
97  result.assign(closestResultRods.begin(), closestResultRods.end());
98  result.insert(result.end(), closestResultPos.begin(), closestResultPos.end());
99  result.insert(result.end(), closestResultNeg.begin(), closestResultNeg.end());
100 
101 #ifdef EDM_ML_DEBUG
102  LogDebug("TkDetLayers") << "==== output di Phase2OTtiltedBarrelLayer =====";
103  if (closestResultRods.size() != 0) {
104  for (auto gr : closestResultRods) {
105  LogTrace("TkDetLayers") << "New Rod group:";
106  for (auto dge : gr) {
107  LogTrace("TkDetLayers") << "new det with geom det at r:" << dge.det()->position().perp()
108  << " id:" << dge.det()->geographicalId().rawId()
109  << " tsos at:" << dge.trajectoryState().globalPosition();
110  }
111  }
112  }
113  if (closestResultNeg.size() != 0) {
114  for (auto gr : closestResultNeg) {
115  LogTrace("TkDetLayers") << "New negative group:";
116  for (auto dge : gr) {
117  LogTrace("TkDetLayers") << "new det with geom det at r:" << dge.det()->position().perp()
118  << " id:" << dge.det()->geographicalId().rawId()
119  << " tsos at:" << dge.trajectoryState().globalPosition();
120  }
121  }
122  }
123  if (closestResultPos.size() != 0) {
124  for (auto gr : closestResultPos) {
125  LogTrace("TkDetLayers") << "New positive group:";
126  for (auto dge : gr) {
127  LogTrace("TkDetLayers") << "new det with geom det at r:" << dge.det()->position().perp()
128  << " id:" << dge.det()->geographicalId().rawId()
129  << " tsos at:" << dge.trajectoryState().globalPosition();
130  }
131  }
132  }
133 
134  if (result.size() != 0) {
135  for (auto gr : result) {
136  LogTrace("TkDetLayers") << "Total group:";
137  for (auto dge : gr) {
138  LogTrace("TkDetLayers") << "new det with geom det at r:" << dge.det()->position().perp()
139  << " id:" << dge.det()->geographicalId().rawId()
140  << " tsos at:" << dge.trajectoryState().globalPosition();
141  }
142  }
143  } else {
144  LogTrace("TkDetLayers") << "result size is zero";
145  }
146 #endif
147 }
std::vector< const GeometricSearchDet * > thePositiveRingsComps
T z() const
Definition: PV3DBase.h:61
#define LogTrace(id)
std::vector< const GeometricSearchDet * > theNegativeRingsComps
GlobalPoint globalPosition() const
void groupedCompatibleDetsV(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const override __attribute__((hot))
Definition: TBLayer.cc:15
#define LogDebug(id)

Member Data Documentation

◆ theCylinder

ReferenceCountingPointer<BoundCylinder> Phase2OTtiltedBarrelLayer::theCylinder
private

Definition at line 33 of file Phase2OTtiltedBarrelLayer.h.

Referenced by Phase2OTtiltedBarrelLayer().

◆ theNegativeRingsComps

std::vector<const GeometricSearchDet*> Phase2OTtiltedBarrelLayer::theNegativeRingsComps
private

◆ thePositiveRingsComps

std::vector<const GeometricSearchDet*> Phase2OTtiltedBarrelLayer::thePositiveRingsComps
private