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 
18 
21 
22 class GEMCluster;
23 class GEMEtaPartition;
24 class GEMDetId;
25 
26 namespace edm {
27  class ParameterSet;
28  class EventSetup;
29 }
30 
31 
33 
34  public:
35 
38 
40  virtual ~GEMRecHitBaseAlgo();
41 
43  virtual void setES(const edm::EventSetup& setup) = 0;
44 
47  const GEMDetId& gemId,
48  const GEMDigiCollection::Range& digiRange,
49  const EtaPartitionMask& mask);
50 
52  virtual bool compute(const GEMEtaPartition& roll,
53  const GEMCluster& cl,
55  LocalError& error) const = 0;
56 
57 
60  virtual bool compute(const GEMEtaPartition& roll,
61  const GEMCluster& cl,
62  const float& angle,
63  const GlobalPoint& globPos,
64  LocalPoint& Point,
65  LocalError& error) const = 0;
66 };
67 #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