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 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:39
#define LogTrace(id)
ReferenceCountingPointer< BoundCylinder > theCylinder
const std::vector< const GeometricSearchDet * > & components() const final __attribute__((cold))
Returns basic components, if any.
Definition: TBLayer.h:30
#define begin
Definition: vmac.h:32
std::vector< const GeomDet * > theBasicComps
Definition: TBLayer.h:86
Phase2OTtiltedBarrelLayer::~Phase2OTtiltedBarrelLayer ( )
override

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 override __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