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 ()
 
- 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 () __attribute__((cold))
 
- Public Member Functions inherited from TBLayer
virtual const std::vector< const GeomDet * > & basicComponents () const final
 
virtual 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 __attribute__((hot))
 
virtual 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 () __attribute__((cold))
 
- Public Member Functions inherited from BarrelDetLayer
 BarrelDetLayer (bool doHaveGroup)
 
virtual std::pair< bool, TrajectoryStateOnSurfacecompatible (const TrajectoryStateOnSurface &ts, const Propagator &, const MeasurementEstimator &) const final
 
bool contains (const Local3DPoint &p) const
 
virtual Location location () const final
 DetLayer interface. More...
 
virtual const BoundCylinderspecificSurface () const final
 Extension of the interface. More...
 
virtual const BoundSurfacesurface () const final
 GeometricSearchDet interface. More...
 
virtual ~BarrelDetLayer ()
 
- 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::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 17 of file Phase2OTtiltedBarrelLayer.h.

Constructor & Destructor Documentation

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 begin, TBLayer::components(), TBPLayer::cylinder(), end, mps_fire::i, BarrelDetLayer::initialize(), LogDebug, LogTrace, TBLayer::theBasicComps, TBLayer::theComps, theCylinder, theNegativeRingsComps, and thePositiveRingsComps.

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

Definition at line 79 of file Phase2OTtiltedBarrelLayer.cc.

References mps_fire::i, theNegativeRingsComps, and thePositiveRingsComps.

79  {
80 
81  vector<const GeometricSearchDet*>::const_iterator i;
82  for (i=theNegativeRingsComps.begin(); i!=theNegativeRingsComps.end(); i++) {
83  delete *i;
84  }
85  for (i=thePositiveRingsComps.begin(); i!=thePositiveRingsComps.end(); i++) {
86  delete *i;
87  }
88 
89 }
std::vector< const GeometricSearchDet * > thePositiveRingsComps
std::vector< const GeometricSearchDet * > theNegativeRingsComps

Member Function Documentation

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

Reimplemented from GeometricSearchDet.

Definition at line 92 of file Phase2OTtiltedBarrelLayer.cc.

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

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

Member Data Documentation

ReferenceCountingPointer<BoundCylinder> Phase2OTtiltedBarrelLayer::theCylinder
private

Definition at line 36 of file Phase2OTtiltedBarrelLayer.h.

Referenced by Phase2OTtiltedBarrelLayer().

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