CMS 3D CMS Logo

RPCDigi.h
Go to the documentation of this file.
1 #ifndef RPCDigi_RPCDigi_h
2 #define RPCDigi_RPCDigi_h
3 
16 #include <cstdint>
17 #include <iosfwd>
18 
19 class RPCDigi {
20 public:
21  explicit RPCDigi(int strip, int bx);
22  RPCDigi();
23 
24  bool operator==(const RPCDigi& digi) const;
25  bool operator<(const RPCDigi& digi) const;
26  void print() const;
27  int strip() const { return strip_; }
28  int bx() const { return bx_; }
29  double time() const { return time_; }
30  double coordinateX() const { return coordinateX_; }
31  double coordinateY() const { return coordinateY_; }
32  bool hasTime() const { return hasTime_; }
33  bool hasX() const { return hasX_; }
34  bool hasY() const { return hasY_; }
35  void hasTime(bool has) { hasTime_ = has; }
36  void hasX(bool has) { hasX_ = has; }
37  void hasY(bool has) { hasY_ = has; }
38  double deltaTime() const { return deltaTime_; }
39  double deltaX() const { return deltaX_; }
40  double deltaY() const { return deltaY_; }
41  void setTime(double time) { time_ = time; }
42  void setDeltaTime(double dt) { deltaTime_ = dt; }
43  void setX(double x) { coordinateX_ = x; }
44  void setY(double y) { coordinateY_ = y; }
45  void setDeltaX(double dx) { deltaX_ = dx; }
46  void setDeltaY(double dy) { deltaY_ = dy; }
47  bool isPseudoDigi() const { return hasX_ || hasY_; }
48 
49 private:
50  uint16_t strip_;
51  int32_t bx_;
52  double time_;
53  double coordinateX_;
54  double coordinateY_;
55  double deltaTime_;
56  double deltaX_;
57  double deltaY_;
58  bool hasTime_;
59  bool hasX_;
60  bool hasY_;
61 };
62 
63 std::ostream& operator<<(std::ostream& o, const RPCDigi& digi);
64 
65 #endif
float dt
Definition: AMPTWrapper.h:126
bool hasY_
Definition: RPCDigi.h:60
bool hasY() const
Definition: RPCDigi.h:34
double deltaY_
Definition: RPCDigi.h:57
uint16_t strip_
Definition: RPCDigi.h:50
bool hasX_
Definition: RPCDigi.h:59
double time_
Definition: RPCDigi.h:52
int bx() const
Definition: RPCDigi.h:28
RPCDigi()
Definition: RPCDigi.cc:28
void setY(double y)
Definition: RPCDigi.h:44
double time() const
Definition: RPCDigi.h:29
double deltaTime() const
Definition: RPCDigi.h:38
std::ostream & operator<<(std::ostream &o, const RPCDigi &digi)
Definition: RPCDigi.cc:56
double coordinateY() const
Definition: RPCDigi.h:31
double coordinateY_
Definition: RPCDigi.h:54
int strip() const
Definition: RPCDigi.h:27
bool hasX() const
Definition: RPCDigi.h:33
void hasY(bool has)
Definition: RPCDigi.h:37
double deltaX() const
Definition: RPCDigi.h:39
void hasTime(bool has)
Definition: RPCDigi.h:35
bool isPseudoDigi() const
Definition: RPCDigi.h:47
double coordinateX_
Definition: RPCDigi.h:53
double deltaY() const
Definition: RPCDigi.h:40
int32_t bx_
Definition: RPCDigi.h:51
void setDeltaX(double dx)
Definition: RPCDigi.h:45
void hasX(bool has)
Definition: RPCDigi.h:36
bool hasTime() const
Definition: RPCDigi.h:32
bool operator==(const RPCDigi &digi) const
Definition: RPCDigi.cc:42
double deltaX_
Definition: RPCDigi.h:56
void print() const
Definition: RPCDigi.cc:58
void setDeltaY(double dy)
Definition: RPCDigi.h:46
bool hasTime_
Definition: RPCDigi.h:58
double deltaTime_
Definition: RPCDigi.h:55
bool operator<(const RPCDigi &digi) const
Precedence operator.
Definition: RPCDigi.cc:49
void setTime(double time)
Definition: RPCDigi.h:41
double coordinateX() const
Definition: RPCDigi.h:30
void setX(double x)
Definition: RPCDigi.h:43
void setDeltaTime(double dt)
Definition: RPCDigi.h:42