CMS 3D CMS Logo

LayerTriplets Class Reference

A class grouping pixel layers in pairs and associating a vector of layers to each layer pair. More...

#include <RecoPixelVertexing/PixelTriplets/src/LayerTriplets.h>

List of all members.

Public Types

typedef std::pair
< SeedingLayerPair,
std::vector
< ctfseeding::SeedingLayer > > 
LayerPairAndLayers
typedef std::pair
< ctfseeding::SeedingLayer,
ctfseeding::SeedingLayer
SeedingLayerPair

Public Member Functions

std::vector< LayerPairAndLayerslayers () const
 LayerTriplets (const ctfseeding::SeedingLayerSets &sets)

Private Attributes

ctfseeding::SeedingLayerSets theSets


Detailed Description

A class grouping pixel layers in pairs and associating a vector of layers to each layer pair.

The layer pair is used to generate hit pairs and the associated vector of layers to generate a third hit confirming layer pair

Definition at line 14 of file LayerTriplets.h.


Member Typedef Documentation

typedef std::pair<SeedingLayerPair, std::vector<ctfseeding::SeedingLayer> > LayerTriplets::LayerPairAndLayers

Definition at line 17 of file LayerTriplets.h.

typedef std::pair<ctfseeding::SeedingLayer, ctfseeding::SeedingLayer> LayerTriplets::SeedingLayerPair

Definition at line 16 of file LayerTriplets.h.


Constructor & Destructor Documentation

LayerTriplets::LayerTriplets ( const ctfseeding::SeedingLayerSets sets  )  [inline]

Definition at line 19 of file LayerTriplets.h.

00019 : theSets(sets) {}


Member Function Documentation

std::vector< LayerTriplets::LayerPairAndLayers > LayerTriplets::layers (  )  const

Definition at line 4 of file LayerTriplets.cc.

References HLT_VtxMuL3::result, size, and theSets.

00005 {
00006   std::vector<LayerPairAndLayers> result;
00007   typedef std::vector<LayerPairAndLayers>::iterator IR;
00008 
00009   typedef SeedingLayerSets::const_iterator IL;
00010   for (IL il=theSets.begin(), ilEnd= theSets.end(); il != ilEnd; ++il) {
00011     const SeedingLayers & set = *il;
00012     if (set.size() != 3) continue;
00013     SeedingLayerPair layerPair = std::make_pair(set[0], set[1]);
00014     bool added = false;
00015     for (IR ir = result.begin(); ir < result.end(); ++ir) {
00016       const SeedingLayerPair & resPair = ir->first;
00017       if (resPair.first ==layerPair.first && resPair.second == layerPair.second) {
00018         std::vector<SeedingLayer> & thirds = ir->second;
00019         thirds.push_back( set[2] );
00020         added = true;
00021         break;
00022       }
00023     }
00024     if (!added) {
00025       LayerPairAndLayers lpl = std::make_pair(layerPair,  std::vector<SeedingLayer>(1, set[2]) );
00026       result.push_back(lpl);
00027     }
00028   }
00029   return result;
00030 }


Member Data Documentation

ctfseeding::SeedingLayerSets LayerTriplets::theSets [private]

Definition at line 24 of file LayerTriplets.h.

Referenced by layers().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:27:28 2009 for CMSSW by  doxygen 1.5.4