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 Attributes
GenericPairGenerator Class Reference

#include <GenericPairGenerator.h>

Inheritance diagram for GenericPairGenerator:
OrderedHitsGenerator

Public Member Functions

void clear ()
 
 GenericPairGenerator (const edm::ParameterSet &conf, edm::ConsumesCollector &iC)
 
virtual const OrderedSeedingHitsrun (const TrackingRegion &region, const edm::Event &ev, const edm::EventSetup &es)
 
virtual ~GenericPairGenerator ()
 
- Public Member Functions inherited from OrderedHitsGenerator
 OrderedHitsGenerator ()
 
virtual ~OrderedHitsGenerator ()
 

Private Attributes

OrderedHitPairs hitPairs
 
edm::EDGetTokenT
< SeedingLayerSetsHits
theSeedingLayerToken
 

Additional Inherited Members

- Public Attributes inherited from OrderedHitsGenerator
unsigned int theMaxElement
 

Detailed Description

Definition at line 16 of file GenericPairGenerator.h.

Constructor & Destructor Documentation

GenericPairGenerator::GenericPairGenerator ( const edm::ParameterSet conf,
edm::ConsumesCollector iC 
)

Definition at line 11 of file GenericPairGenerator.cc.

11  :
13  edm::LogInfo("CtfSpecialSeedGenerator|GenericPairGenerator") << "Constructing GenericPairGenerator";
14 }
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
T getParameter(std::string const &) const
edm::EDGetTokenT< SeedingLayerSetsHits > theSeedingLayerToken
virtual GenericPairGenerator::~GenericPairGenerator ( )
inlinevirtual

Definition at line 19 of file GenericPairGenerator.h.

19 {};

Member Function Documentation

void GenericPairGenerator::clear ( void  )
inlinevirtual

Reimplemented from OrderedHitsGenerator.

Definition at line 23 of file GenericPairGenerator.h.

References hitPairs.

23 { hitPairs.clear();}
const OrderedSeedingHits & GenericPairGenerator::run ( const TrackingRegion region,
const edm::Event ev,
const edm::EventSetup es 
)
virtual

Implements OrderedHitsGenerator.

Definition at line 17 of file GenericPairGenerator.cc.

References edm::Event::getByToken(), hitPairs, TrackingRegion::hits(), LayerTriplets::layers(), eostools::ls(), SeedingLayerSetsHits::numberOfLayersInSet(), and theSeedingLayerToken.

19  {
20  hitPairs.clear();
21  hitPairs.reserve(0);
23  e.getByToken(theSeedingLayerToken, hlayers);
24  const SeedingLayerSetsHits& layers = *hlayers;
25  if(layers.numberOfLayersInSet() != 2)
26  throw cms::Exception("CtfSpecialSeedGenerator") << "You are using " << layers.numberOfLayersInSet() <<" layers in set instead of 2 ";
27 
29  auto innerHits = region.hits(e, es, ls[0]);
30  auto outerHits = region.hits(e, es, ls[1]);
31  for (auto iOuterHit = outerHits.begin(); iOuterHit != outerHits.end(); iOuterHit++){
32  for (auto iInnerHit = innerHits.begin(); iInnerHit != innerHits.end(); iInnerHit++){
33  hitPairs.push_back(OrderedHitPair(&(**iInnerHit),
34  &(**iOuterHit))
35  );
36  }
37  }
38  }
39  return hitPairs;
40 }
unsigned short numberOfLayersInSet() const
Get number of layers in each SeedingLayerSets.
std::vector< LayerSetAndLayers > layers(const SeedingLayerSetsHits &sets)
Definition: LayerTriplets.cc:4
def ls
Definition: eostools.py:348
virtual Hits hits(const edm::Event &ev, const edm::EventSetup &es, const SeedingLayerSetsHits::SeedingLayer &layer) const =0
get hits from layer compatible with region constraints
edm::EDGetTokenT< SeedingLayerSetsHits > theSeedingLayerToken

Member Data Documentation

OrderedHitPairs GenericPairGenerator::hitPairs
private

Definition at line 26 of file GenericPairGenerator.h.

Referenced by clear(), and run().

edm::EDGetTokenT<SeedingLayerSetsHits> GenericPairGenerator::theSeedingLayerToken
private

Definition at line 25 of file GenericPairGenerator.h.

Referenced by run().