CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
GEMRecHitBaseAlgo.h
Go to the documentation of this file.
1 #ifndef RecoLocalMuon_GEMRecHitBaseAlgo_H
2 #define RecoLocalMuon_GEMRecHitBaseAlgo_H
3 
20 
23 
24 class GEMCluster;
25 class GEMEtaPartition;
26 class GEMDetId;
27 
28 namespace edm {
29  class ParameterSet;
30  class EventSetup;
31 }
32 
33 
35 
36  public:
37 
40 
42  virtual ~GEMRecHitBaseAlgo();
43 
45  virtual void setES(const edm::EventSetup& setup) = 0;
46 
49  const GEMDetId& gemId,
50  const GEMDigiCollection::Range& digiRange,
51  const EtaPartitionMask& mask);
52 
54  virtual bool compute(const GEMEtaPartition& roll,
55  const GEMCluster& cl,
57  LocalError& error) const = 0;
58 
59 
62  virtual bool compute(const GEMEtaPartition& roll,
63  const GEMCluster& cl,
64  const float& angle,
65  const GlobalPoint& globPos,
66  LocalPoint& Point,
67  LocalError& error) const = 0;
68 };
69 #endif
virtual bool compute(const GEMEtaPartition &roll, const GEMCluster &cl, LocalPoint &Point, LocalError &error) const =0
standard local recHit computation
virtual void setES(const edm::EventSetup &setup)=0
Pass the Event Setup to the algo at each event.
virtual edm::OwnVector< GEMRecHit > reconstruct(const GEMEtaPartition &roll, const GEMDetId &gemId, const GEMDigiCollection::Range &digiRange, const EtaPartitionMask &mask)
Build all hits in the range associated to the gemId, at the 1st step.
virtual ~GEMRecHitBaseAlgo()
Destructor.
math::XYZPoint Point
std::bitset< maskSIZE > EtaPartitionMask
GEMRecHitBaseAlgo(const edm::ParameterSet &config)
Constructor.
std::pair< const_iterator, const_iterator > Range
void setup(std::vector< TH2F > &depth, std::string name, std::string units="")
T angle(T x1, T y1, T z1, T x2, T y2, T z2)
Definition: angle.h:11