CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
MuonBarrelNavigableLayer Class Reference

#include <MuonBarrelNavigableLayer.h>

Inheritance diagram for MuonBarrelNavigableLayer:
MuonNavigableLayer NavigableLayer

Public Member Functions

virtual std::vector< const
DetLayer * > 
compatibleLayers (NavigationDirection dir) const
 
virtual std::vector< const
DetLayer * > 
compatibleLayers (const FreeTrajectoryState &fts, PropagationDirection dir) const
 NavigableLayer interface. More...
 
virtual DetLayerdetLayer () const
 return DetLayer More...
 
MapE getAllInnerBackwardLayers () const
 
MapB getAllInnerBarrelLayers () const
 
MapE getAllInnerForwardLayers () const
 
MapE getAllOuterBackwardLayers () const
 
MapB getAllOuterBarrelLayers () const
 
MapE getAllOuterForwardLayers () const
 
MapE getInnerBackwardLayers () const
 
MapB getInnerBarrelLayers () const
 
MapE getInnerForwardLayers () const
 
MapE getOuterBackwardLayers () const
 
MapB getOuterBarrelLayers () const
 
MapE getOuterForwardLayers () const
 
 MuonBarrelNavigableLayer (BarrelDetLayer *bdl, const MapB &outerBarrel, const MapB &innerBarrel, const MapE &outerBackward, const MapE &outerForward, const MapE &innerBackward, const MapE &innerForward)
 Constructor. More...
 
 MuonBarrelNavigableLayer (BarrelDetLayer *bdl, const MapB &outerBarrel, const MapB &innerBarrel, const MapE &outerBackward, const MapE &outerForward, const MapE &innerBackward, const MapE &innerForward, const MapB &allOuterBarrel, const MapB &allInnerBarrel, const MapE &allOuterBackward, const MapE &allOuterForward, const MapE &allInnerBackward, const MapE &allInnerForward)
 
 MuonBarrelNavigableLayer (BarrelDetLayer *bdl, const MapB &outerBarrel, const MapE &outerBackward, const MapE &outerForward)
 Constructor with outer layers only. More...
 
 MuonBarrelNavigableLayer (BarrelDetLayer *bdl, const MapB &outerBarrel, const MapE &outerBackward, const MapE &outerForward, const MapB &allOuterBarrel, const MapE &allOuterBackward, const MapE &allOuterForward)
 
virtual std::vector< const
DetLayer * > 
nextLayers (NavigationDirection dir) const
 NavigableLayer interface. More...
 
virtual std::vector< const
DetLayer * > 
nextLayers (const FreeTrajectoryState &fts, PropagationDirection dir) const
 NavigableLayer interface. More...
 
virtual void setDetLayer (DetLayer *)
 set DetLayer More...
 
void setInwardCompatibleLinks (const MapB &)
 
void setInwardLinks (const MapB &)
 set inward links More...
 
- Public Member Functions inherited from MuonNavigableLayer
bool isInsideOut (const FreeTrajectoryState &fts) const
 
MuonEtaRange trackingRange (const FreeTrajectoryState &fts) const
 
- Public Member Functions inherited from NavigableLayer
virtual std::vector< const
DetLayer * > 
compatibleLayers (const FreeTrajectoryState &fts, PropagationDirection timeDirection, int &counter) const
 
virtual ~NavigableLayer ()
 

Private Member Functions

void pushCompatibleResult (std::vector< const DetLayer * > &result, const MapB &map, const FreeTrajectoryState &fts) const
 
void pushCompatibleResult (std::vector< const DetLayer * > &result, const MapE &map, const FreeTrajectoryState &fts) const
 
void pushResult (std::vector< const DetLayer * > &result, const MapB &map) const
 
void pushResult (std::vector< const DetLayer * > &result, const MapE &map) const
 
void pushResult (std::vector< const DetLayer * > &result, const MapB &map, const FreeTrajectoryState &fts) const
 
void pushResult (std::vector< const DetLayer * > &result, const MapE &map, const FreeTrajectoryState &fts) const
 

Private Attributes

MapE theAllInnerBackwardLayers
 
MapB theAllInnerBarrelLayers
 
MapE theAllInnerForwardLayers
 
MapE theAllOuterBackwardLayers
 
MapB theAllOuterBarrelLayers
 
MapE theAllOuterForwardLayers
 
BarrelDetLayertheDetLayer
 
MapE theInnerBackwardLayers
 
MapB theInnerBarrelLayers
 
MapE theInnerForwardLayers
 
MapE theOuterBackwardLayers
 
MapB theOuterBarrelLayers
 
MapE theOuterForwardLayers
 

Detailed Description

Navigable layer for Barrel Muon

Date:
2007/01/18 13:28:36
Revision:
1.6
Author
: Stefano Lacaprara - INFN Padova stefa.nosp@m.no.l.nosp@m.acapr.nosp@m.ara@.nosp@m.pd.in.nosp@m.fn.i.nosp@m.t

Modification:

Chang Liu: compatibleLayers(dir) and compatibleLayers(fts, dir) are added, which returns ALL DetLayers that are compatible with a given DetLayer.

Navigable layer for Barrel Muon

Date:
2007/01/29 16:24:33
Revision:
1.11
Author
: Stefano Lacaprara - INFN Padova stefa.nosp@m.no.l.nosp@m.acapr.nosp@m.ara@.nosp@m.pd.in.nosp@m.fn.i.nosp@m.t

Modification:

Chang Liu: compatibleLayers(dir) and compatibleLayers(fts, dir) are added, which returns ALL DetLayers that are compatible with a given DetLayer.

Definition at line 37 of file MuonBarrelNavigableLayer.h.

Constructor & Destructor Documentation

MuonBarrelNavigableLayer::MuonBarrelNavigableLayer ( BarrelDetLayer bdl,
const MapB outerBarrel,
const MapB innerBarrel,
const MapE outerBackward,
const MapE outerForward,
const MapE innerBackward,
const MapE innerForward 
)
inline

Constructor.

Definition at line 42 of file MuonBarrelNavigableLayer.h.

MuonBarrelNavigableLayer::MuonBarrelNavigableLayer ( BarrelDetLayer bdl,
const MapB outerBarrel,
const MapB innerBarrel,
const MapE outerBackward,
const MapE outerForward,
const MapE innerBackward,
const MapE innerForward,
const MapB allOuterBarrel,
const MapB allInnerBarrel,
const MapE allOuterBackward,
const MapE allOuterForward,
const MapE allInnerBackward,
const MapE allInnerForward 
)
inline

Definition at line 57 of file MuonBarrelNavigableLayer.h.

69  :
70  theDetLayer(bdl),
71  theOuterBarrelLayers(outerBarrel),
72  theInnerBarrelLayers(innerBarrel),
73  theOuterBackwardLayers(outerBackward),
74  theInnerBackwardLayers(innerBackward),
75  theOuterForwardLayers(outerForward),
76  theInnerForwardLayers(innerForward),
77  theAllOuterBarrelLayers(allOuterBarrel),
78  theAllInnerBarrelLayers(allInnerBarrel),
79  theAllOuterBackwardLayers(allOuterBackward),
80  theAllInnerBackwardLayers(allInnerBackward),
81  theAllOuterForwardLayers(allOuterForward),
82  theAllInnerForwardLayers(allInnerForward) {}
MuonBarrelNavigableLayer::MuonBarrelNavigableLayer ( BarrelDetLayer bdl,
const MapB outerBarrel,
const MapE outerBackward,
const MapE outerForward 
)
inline

Constructor with outer layers only.

Definition at line 85 of file MuonBarrelNavigableLayer.h.

MuonBarrelNavigableLayer::MuonBarrelNavigableLayer ( BarrelDetLayer bdl,
const MapB outerBarrel,
const MapE outerBackward,
const MapE outerForward,
const MapB allOuterBarrel,
const MapE allOuterBackward,
const MapE allOuterForward 
)
inline

Definition at line 94 of file MuonBarrelNavigableLayer.h.

Member Function Documentation

std::vector< const DetLayer * > MuonBarrelNavigableLayer::compatibleLayers ( NavigationDirection  dir) const
virtual

Implements MuonNavigableLayer.

Definition at line 76 of file MuonBarrelNavigableLayer.cc.

References insideOut, and query::result.

76  {
77 
78  std::vector<const DetLayer*> result;
79 
80  if ( dir == insideOut ) {
84  }
85  else {
87  reverse(result.begin(),result.end());
90  }
91 
92  result.reserve(result.size());
93  return result;
94 }
void pushResult(std::vector< const DetLayer * > &result, const MapB &map) const
tuple result
Definition: query.py:137
dbl *** dir
Definition: mlp_gen.cc:35
std::vector< const DetLayer * > MuonBarrelNavigableLayer::compatibleLayers ( const FreeTrajectoryState fts,
PropagationDirection  dir 
) const
virtual

NavigableLayer interface.

Implements MuonNavigableLayer.

Definition at line 97 of file MuonBarrelNavigableLayer.cc.

References alongMomentum, oppositeToMomentum, and query::result.

98  {
99  std::vector<const DetLayer*> result;
100 
101  if ( (isInsideOut(fts) && dir == alongMomentum) || ( !isInsideOut(fts) && dir == oppositeToMomentum)) {
105  }
106  else {
108  reverse(result.begin(),result.end());
111  }
112  result.reserve(result.size());
113  return result;
114 
115 }
bool isInsideOut(const FreeTrajectoryState &fts) const
tuple result
Definition: query.py:137
dbl *** dir
Definition: mlp_gen.cc:35
void pushCompatibleResult(std::vector< const DetLayer * > &result, const MapB &map, const FreeTrajectoryState &fts) const
DetLayer * MuonBarrelNavigableLayer::detLayer ( ) const
virtual

return DetLayer

Implements MuonNavigableLayer.

Definition at line 165 of file MuonBarrelNavigableLayer.cc.

165  {
166  return theDetLayer;
167 }
MapE MuonBarrelNavigableLayer::getAllInnerBackwardLayers ( ) const
inline
MapB MuonBarrelNavigableLayer::getAllInnerBarrelLayers ( ) const
inline

Definition at line 136 of file MuonBarrelNavigableLayer.h.

References theAllInnerBarrelLayers.

MapE MuonBarrelNavigableLayer::getAllInnerForwardLayers ( ) const
inline
MapE MuonBarrelNavigableLayer::getAllOuterBackwardLayers ( ) const
inline
MapB MuonBarrelNavigableLayer::getAllOuterBarrelLayers ( ) const
inline
MapE MuonBarrelNavigableLayer::getAllOuterForwardLayers ( ) const
inline
MapE MuonBarrelNavigableLayer::getInnerBackwardLayers ( ) const
inline

Definition at line 131 of file MuonBarrelNavigableLayer.h.

References theInnerBackwardLayers.

MapB MuonBarrelNavigableLayer::getInnerBarrelLayers ( ) const
inline

Definition at line 129 of file MuonBarrelNavigableLayer.h.

References theInnerBarrelLayers.

MapE MuonBarrelNavigableLayer::getInnerForwardLayers ( ) const
inline

Definition at line 133 of file MuonBarrelNavigableLayer.h.

References theInnerForwardLayers.

MapE MuonBarrelNavigableLayer::getOuterBackwardLayers ( ) const
inline
MapB MuonBarrelNavigableLayer::getOuterBarrelLayers ( ) const
inline
MapE MuonBarrelNavigableLayer::getOuterForwardLayers ( ) const
inline
std::vector< const DetLayer * > MuonBarrelNavigableLayer::nextLayers ( NavigationDirection  dir) const
virtual

NavigableLayer interface.

Implements MuonNavigableLayer.

Definition at line 32 of file MuonBarrelNavigableLayer.cc.

References insideOut, and query::result.

32  {
33 
34  std::vector<const DetLayer*> result;
35 
36  if ( dir == insideOut ) {
40  }
41  else {
43  reverse(result.begin(),result.end());
46  }
47 
48  result.reserve(result.size());
49  return result;
50 
51 }
void pushResult(std::vector< const DetLayer * > &result, const MapB &map) const
tuple result
Definition: query.py:137
dbl *** dir
Definition: mlp_gen.cc:35
std::vector< const DetLayer * > MuonBarrelNavigableLayer::nextLayers ( const FreeTrajectoryState fts,
PropagationDirection  dir 
) const
virtual

NavigableLayer interface.

Implements MuonNavigableLayer.

Definition at line 55 of file MuonBarrelNavigableLayer.cc.

References alongMomentum, oppositeToMomentum, and query::result.

56  {
57 
58  std::vector<const DetLayer*> result;
59 
60  if ( (isInsideOut(fts) && dir == alongMomentum) || ( !isInsideOut(fts) && dir == oppositeToMomentum)) {
61  pushResult(result, theOuterBarrelLayers, fts);
62  pushResult(result, theOuterBackwardLayers, fts);
63  pushResult(result, theOuterForwardLayers, fts);
64  }
65  else {
66  pushResult(result, theInnerBarrelLayers, fts);
67  reverse(result.begin(),result.end());
68  pushResult(result, theInnerBackwardLayers, fts);
69  pushResult(result, theInnerForwardLayers, fts);
70  }
71  result.reserve(result.size());
72  return result;
73 }
void pushResult(std::vector< const DetLayer * > &result, const MapB &map) const
bool isInsideOut(const FreeTrajectoryState &fts) const
tuple result
Definition: query.py:137
dbl *** dir
Definition: mlp_gen.cc:35
void MuonBarrelNavigableLayer::pushCompatibleResult ( std::vector< const DetLayer * > &  result,
const MapB map,
const FreeTrajectoryState fts 
) const
private

Definition at line 148 of file MuonBarrelNavigableLayer.cc.

References i.

150  {
151  MuonEtaRange range= trackingRange(fts);
152  for ( MapBI i = map.begin(); i != map.end(); i++ )
153  if ((*i).second.isCompatible(range)) result.push_back((*i).first);
154 }
int i
Definition: DBlmapReader.cc:9
MapB::const_iterator MapBI
dictionary map
Definition: Association.py:205
tuple result
Definition: query.py:137
MuonEtaRange trackingRange(const FreeTrajectoryState &fts) const
void MuonBarrelNavigableLayer::pushCompatibleResult ( std::vector< const DetLayer * > &  result,
const MapE map,
const FreeTrajectoryState fts 
) const
private

Definition at line 156 of file MuonBarrelNavigableLayer.cc.

References i.

158  {
159  MuonEtaRange range= trackingRange(fts);
160  for (MapEI i = map.begin(); i != map.end(); i++)
161  if ((*i).second.isCompatible(range)) result.push_back((*i).first);
162 
163 }
int i
Definition: DBlmapReader.cc:9
dictionary map
Definition: Association.py:205
MapE::const_iterator MapEI
tuple result
Definition: query.py:137
MuonEtaRange trackingRange(const FreeTrajectoryState &fts) const
void MuonBarrelNavigableLayer::pushResult ( std::vector< const DetLayer * > &  result,
const MapB map 
) const
private

Definition at line 118 of file MuonBarrelNavigableLayer.cc.

References i.

119  {
120 
121  for ( MapBI i = map.begin(); i != map.end(); i++ ) result.push_back((*i).first);
122 
123 }
int i
Definition: DBlmapReader.cc:9
MapB::const_iterator MapBI
dictionary map
Definition: Association.py:205
tuple result
Definition: query.py:137
void MuonBarrelNavigableLayer::pushResult ( std::vector< const DetLayer * > &  result,
const MapE map 
) const
private

Definition at line 125 of file MuonBarrelNavigableLayer.cc.

References i.

126  {
127 
128  for ( MapEI i = map.begin(); i != map.end(); i++ ) result.push_back((*i).first);
129 }
int i
Definition: DBlmapReader.cc:9
dictionary map
Definition: Association.py:205
MapE::const_iterator MapEI
tuple result
Definition: query.py:137
void MuonBarrelNavigableLayer::pushResult ( std::vector< const DetLayer * > &  result,
const MapB map,
const FreeTrajectoryState fts 
) const
private

Definition at line 132 of file MuonBarrelNavigableLayer.cc.

References PV3DBase< T, PVType, FrameType >::eta(), i, and FreeTrajectoryState::position().

134  {
135  for ( MapBI i = map.begin(); i != map.end(); i++ )
136  if ((*i).second.isInside(fts.position().eta())) result.push_back((*i).first);
137 }
int i
Definition: DBlmapReader.cc:9
MapB::const_iterator MapBI
dictionary map
Definition: Association.py:205
tuple result
Definition: query.py:137
GlobalPoint position() const
T eta() const
Definition: PV3DBase.h:76
void MuonBarrelNavigableLayer::pushResult ( std::vector< const DetLayer * > &  result,
const MapE map,
const FreeTrajectoryState fts 
) const
private

Definition at line 139 of file MuonBarrelNavigableLayer.cc.

References PV3DBase< T, PVType, FrameType >::eta(), i, and FreeTrajectoryState::position().

141  {
142 
143  for (MapEI i = map.begin(); i != map.end(); i++)
144  if ((*i).second.isInside(fts.position().eta())) result.push_back((*i).first);
145 
146 }
int i
Definition: DBlmapReader.cc:9
dictionary map
Definition: Association.py:205
MapE::const_iterator MapEI
tuple result
Definition: query.py:137
GlobalPoint position() const
T eta() const
Definition: PV3DBase.h:76
void MuonBarrelNavigableLayer::setDetLayer ( DetLayer dl)
virtual

set DetLayer

Implements MuonNavigableLayer.

Definition at line 170 of file MuonBarrelNavigableLayer.cc.

170  {
171  edm::LogError("MuonBarrelNavigableLayer") << "MuonBarrelNavigableLayer::setDetLayer called!! " << endl;
172 }
void MuonBarrelNavigableLayer::setInwardCompatibleLinks ( const MapB innerCBL)

Definition at line 178 of file MuonBarrelNavigableLayer.cc.

Referenced by MuonNavigationSchool::createInverseLinks().

178  {
179 
180  theAllInnerBarrelLayers = innerCBL;
181 
182 }
void MuonBarrelNavigableLayer::setInwardLinks ( const MapB innerBL)

set inward links

Definition at line 175 of file MuonBarrelNavigableLayer.cc.

Referenced by MuonNavigationSchool::createInverseLinks().

175  {
176  theInnerBarrelLayers = innerBL;
177 }

Member Data Documentation

MapE MuonBarrelNavigableLayer::theAllInnerBackwardLayers
private

Definition at line 181 of file MuonBarrelNavigableLayer.h.

Referenced by getAllInnerBackwardLayers().

MapB MuonBarrelNavigableLayer::theAllInnerBarrelLayers
private

Definition at line 179 of file MuonBarrelNavigableLayer.h.

Referenced by getAllInnerBarrelLayers().

MapE MuonBarrelNavigableLayer::theAllInnerForwardLayers
private

Definition at line 183 of file MuonBarrelNavigableLayer.h.

Referenced by getAllInnerForwardLayers().

MapE MuonBarrelNavigableLayer::theAllOuterBackwardLayers
private

Definition at line 180 of file MuonBarrelNavigableLayer.h.

Referenced by getAllOuterBackwardLayers().

MapB MuonBarrelNavigableLayer::theAllOuterBarrelLayers
private

Definition at line 178 of file MuonBarrelNavigableLayer.h.

Referenced by getAllOuterBarrelLayers().

MapE MuonBarrelNavigableLayer::theAllOuterForwardLayers
private

Definition at line 182 of file MuonBarrelNavigableLayer.h.

Referenced by getAllOuterForwardLayers().

BarrelDetLayer* MuonBarrelNavigableLayer::theDetLayer
private

Definition at line 171 of file MuonBarrelNavigableLayer.h.

MapE MuonBarrelNavigableLayer::theInnerBackwardLayers
private

Definition at line 175 of file MuonBarrelNavigableLayer.h.

Referenced by getInnerBackwardLayers().

MapB MuonBarrelNavigableLayer::theInnerBarrelLayers
private

Definition at line 173 of file MuonBarrelNavigableLayer.h.

Referenced by getInnerBarrelLayers().

MapE MuonBarrelNavigableLayer::theInnerForwardLayers
private

Definition at line 177 of file MuonBarrelNavigableLayer.h.

Referenced by getInnerForwardLayers().

MapE MuonBarrelNavigableLayer::theOuterBackwardLayers
private

Definition at line 174 of file MuonBarrelNavigableLayer.h.

Referenced by getOuterBackwardLayers().

MapB MuonBarrelNavigableLayer::theOuterBarrelLayers
private

Definition at line 172 of file MuonBarrelNavigableLayer.h.

Referenced by getOuterBarrelLayers().

MapE MuonBarrelNavigableLayer::theOuterForwardLayers
private

Definition at line 176 of file MuonBarrelNavigableLayer.h.

Referenced by getOuterForwardLayers().