CMS 3D CMS Logo

HitPairGeneratorFromLayerPairForPhotonConversion.h
Go to the documentation of this file.
1 #ifndef HitPairGeneratorFromLayerPairForPhotonConversion_h
2 #define HitPairGeneratorFromLayerPairForPhotonConversion_h
3 
9 
10 #include "ConversionRegion.h"
11 
12 class DetLayer;
14 class MagneticField;
15 class TrackingRegion;
16 
17 class dso_hidden HitPairGeneratorFromLayerPairForPhotonConversion { // : public HitPairGenerator {
18 
19 public:
23 
25  unsigned int inner,
26  unsigned int outer,
27  LayerCacheType* layerCache,
28  unsigned int nSize = 30000,
29  unsigned int max = 0);
30 
31  // virtual ~HitPairGeneratorFromLayerPairForPhotonConversion() { }
32 
33  void hitPairs(const ConversionRegion& convRegion,
34  const TrackingRegion& reg,
35  OrderedHitPairs& prs,
36  const Layers& layers,
37  const edm::Event& ev,
38  const edm::EventSetup& es);
39 
40  float getLayerRadius(const DetLayer& layer);
41  float getLayerZ(const DetLayer& layer);
42 
43  bool checkBoundaries(const DetLayer& layer, const ConversionRegion& convRegion, float maxSearchR, float maxSearchZ);
44  bool getPhiRange(float& Phimin,
45  float& Phimax,
46  const DetLayer& layer,
47  const ConversionRegion& convRegion,
48  const MagneticField& field);
49  bool getPhiRange(float& Phimin,
50  float& Phimax,
51  const float& layerR,
52  const ConversionRegion& convRegion,
53  const MagneticField& field);
54  bool checkRZCompatibilityWithSeedTrack(const RecHitsSortedInPhi::Hit& hit,
55  const DetLayer& layer,
56  const ConversionRegion& convRegion);
57 
58 private:
59  double getCot(double dz, double dr);
60 
62  const unsigned int theOuterLayer;
63  const unsigned int theInnerLayer;
64  const unsigned int theMaxElement;
66 
67  std::stringstream ss;
68 };
69 
70 #endif
std::pair< double, double > getPhiRange(const std::vector< double > &phis, double phi)
Definition: BuilderUtils.cc:21
constexpr std::array< uint8_t, layerIndexSize< TrackerTraits > > layer
BaseTrackerRecHit const * Hit
#define dso_hidden
Definition: Visibility.h:12
const edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > theFieldToken