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 TBLayer::groupedCompatibleDetsV(), LogDebug, LogTrace, relativeConstraints::ring, theNegativeRingsComps, and thePositiveRingsComps.

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