CMS 3D CMS Logo

CaloHit.h
Go to the documentation of this file.
1 #ifndef SimDataFormats_CaloHit_H
2 #define SimDataFormats_CaloHit_H
3 // File: CaloHit.h
5 // Hit class for QIE analysis
7 
8 #include <boost/cstdint.hpp>
9 #include <iostream>
10 #include <cmath>
11 
12 class CaloHit {
13 public:
14  CaloHit(int deti, int layi, double ei, double etai, double phii, double timi, uint32_t idi = 0);
15  CaloHit();
16  CaloHit(const CaloHit&);
17  virtual ~CaloHit();
18 
19  int det() const { return deth; }
20  int layer() const { return layerh; }
21  double e() const { return eh; }
22  double eta() const { return etah; }
23  double phi() const { return phih; }
24  double t() const { return timeh; }
25  uint32_t id() const { return idh; }
26  void setId(const uint32_t idi) { idh = idi; }
27 
28  bool operator<(const CaloHit& hit) const;
29 
30 private:
31  int deth, layerh;
32  double eh, etah, phih, timeh;
33  uint32_t idh;
34 };
35 
36 class CaloHitMore {
37 public:
38  bool operator()(const CaloHit* a, const CaloHit* b) { return (a->t() < b->t()); }
39 };
40 
42 public:
43  bool operator()(const CaloHit* a, const CaloHit* b) {
44  if (a->id() < b->id()) {
45  return true;
46  } else if (a->id() > b->id()) {
47  return false;
48  } else {
49  return (a->t() < b->t());
50  }
51  }
52 };
53 
54 class CaloHitELess {
55 public:
56  bool operator()(const CaloHit* a, const CaloHit* b) { return (a->e() > b->e()); }
57 };
58 
60 public:
61  bool operator()(const CaloHit* a, const CaloHit* b) {
62  return (a->e() / std::cosh(a->eta()) > b->e() / std::cosh(b->eta()));
63  }
64 };
65 
66 std::ostream& operator<<(std::ostream&, const CaloHit&);
67 #endif
int layerh
Definition: CaloHit.h:31
bool operator<(const CaloHit &hit) const
Definition: CaloHit.cc:26
std::ostream & operator<<(std::ostream &, const CaloHit &)
Definition: CaloHit.cc:30
int det() const
Definition: CaloHit.h:19
double phi() const
Definition: CaloHit.h:23
double timeh
Definition: CaloHit.h:32
double eta() const
Definition: CaloHit.h:22
double phih
Definition: CaloHit.h:32
void setId(const uint32_t idi)
Definition: CaloHit.h:26
virtual ~CaloHit()
Definition: CaloHit.cc:24
double eh
Definition: CaloHit.h:32
uint32_t id() const
Definition: CaloHit.h:25
double t() const
Definition: CaloHit.h:24
int layer() const
Definition: CaloHit.h:20
bool operator()(const CaloHit *a, const CaloHit *b)
Definition: CaloHit.h:43
bool operator()(const CaloHit *a, const CaloHit *b)
Definition: CaloHit.h:61
double b
Definition: hdecay.h:120
double e() const
Definition: CaloHit.h:21
double a
Definition: hdecay.h:121
bool operator()(const CaloHit *a, const CaloHit *b)
Definition: CaloHit.h:56
bool operator()(const CaloHit *a, const CaloHit *b)
Definition: CaloHit.h:38
double etah
Definition: CaloHit.h:32
int deth
Definition: CaloHit.h:31
CaloHit()
Definition: CaloHit.cc:12
uint32_t idh
Definition: CaloHit.h:33