CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HitPairGeneratorFromLayerPairForPhotonConversion.h
Go to the documentation of this file.
1 #ifndef HitPairGeneratorFromLayerPairForPhotonConversion_h
2 #define HitPairGeneratorFromLayerPairForPhotonConversion_h
3 
7 
8 #include "ConversionRegion.h"
9 
10 class DetLayer;
11 class TrackingRegion;
12 
13 class dso_hidden HitPairGeneratorFromLayerPairForPhotonConversion { // : public HitPairGenerator {
14 
15 public:
16 
20 
22  unsigned int outer,
23  LayerCacheType* layerCache,
24  unsigned int nSize=30000,
25  unsigned int max=0);
26 
27 // virtual ~HitPairGeneratorFromLayerPairForPhotonConversion() { }
28 
29  void setSeedingLayers(Layers layers) { theSeedingLayers = layers; }
30 
31  void hitPairs( const ConversionRegion& convRegion, const TrackingRegion& reg, OrderedHitPairs & prs,
32  const edm::Event & ev, const edm::EventSetup& es);
33 
34 /*
35  virtual void hitPairs( const TrackingRegion& reg, OrderedHitPairs & prs,
36  const edm::Event & ev, const edm::EventSetup& es){};
37 
38 
39  virtual HitPairGeneratorFromLayerPairForPhotonConversion* clone() const {
40  return new HitPairGeneratorFromLayerPairForPhotonConversion(*this);
41  }
42 */
43 
44  Layer innerLayer() const { return theSeedingLayers[theInnerLayer]; }
45  Layer outerLayer() const { return theSeedingLayers[theOuterLayer]; }
46 
47  float getLayerRadius(const DetLayer& layer);
48  float getLayerZ(const DetLayer& layer);
49 
50  bool checkBoundaries(const DetLayer& layer,const ConversionRegion& convRegion,float maxSearchR, float maxSearchZ);
51  bool getPhiRange(float& Phimin, float& Phimax,const DetLayer& layer, const ConversionRegion &convRegion, const edm::EventSetup& es);
52  bool getPhiRange(float& Phimin, float& Phimax, const float& layerR, const ConversionRegion &convRegion, const edm::EventSetup& es);
53  bool checkRZCompatibilityWithSeedTrack(const RecHitsSortedInPhi::Hit & hit, const DetLayer& layer, const ConversionRegion& convRegion);
54 
55 
56 private:
57 
58  double getCot(double dz, double dr);
59 
62  const unsigned int theOuterLayer;
63  const unsigned int theInnerLayer;
64  const unsigned int theMaxElement;
65 
66  std::stringstream ss;
67 
68 };
69 
70 #endif
#define dso_hidden
std::vector< LayerSetAndLayers > layers(const SeedingLayerSetsHits &sets)
Definition: LayerTriplets.cc:4
std::pair< double, double > getPhiRange(const std::vector< double > &phis, double phi)
Definition: BuilderUtils.cc:21
bool ev
BaseTrackerRecHit const * Hit