LDMX Software
RawSiStripHit.h
1
2#ifndef TRACKING_EVENT_RAWSISTRIPHIT_H_
3#define TRACKING_EVENT_RAWSISTRIPHIT_H_
4
5//----------------------//
6// C++ Standard Lib //
7//----------------------//
8#include <cstdint>
9#include <iostream>
10#include <vector>
11
12//----------//
13// LDMX //
14//----------//
15#include "Tracking/Event/SiStripHit.h"
16
17namespace ldmx {
18
28class RawSiStripHit : public SiStripHit {
29 public:
31 RawSiStripHit() = default;
32
45 RawSiStripHit(uint8_t channel, std::vector<short> samples, long time);
46
52 virtual ~RawSiStripHit() = default;
53
59 void clear() override;
60
61 uint8_t getChannel() const { return channel_; }
62 uint8_t getApvId() const { return apv_id_; }
63 uint8_t getHybridId() const { return hybrid_id_; }
64 uint8_t getFebId() const { return feb_id_; }
65 uint16_t getApvTrigger() const { return apv_trigger_; }
66 uint8_t getReadError() const { return read_error_; }
67 uint8_t getHead() const { return head_; }
68 uint8_t getTail() const { return tail_; }
69 uint8_t getFilter() const { return filter_; }
70
71 void setChannel(uint8_t v) { channel_ = v; }
72 void setApvId(uint8_t v) { apv_id_ = v; }
73 void setHybridId(uint8_t v) { hybrid_id_ = v; }
74 void setFebId(uint8_t v) { feb_id_ = v; }
75 void setApvTrigger(uint16_t v) { apv_trigger_ = v; }
76 void setReadError(uint8_t v) { read_error_ = v; }
77 void setHead(uint8_t v) { head_ = v; }
78 void setTail(uint8_t v) { tail_ = v; }
79 void setFilter(uint8_t v) { filter_ = v; }
80
92 friend std::ostream& operator<<(std::ostream& output,
93 const RawSiStripHit& hit);
94
95 protected:
96 uint8_t channel_{0};
97 uint8_t apv_id_{0};
98 uint8_t hybrid_id_{0};
99 uint8_t feb_id_{0};
100 uint16_t apv_trigger_{0};
101 uint8_t read_error_{0};
102 uint8_t head_{0};
103 uint8_t tail_{0};
104 uint8_t filter_{0};
105
108
109}; // RawSiStripHit
110} // namespace ldmx
111
112#endif // TRACKING_EVENT_RAWSISTRIPHIT_H_
Implementation of a raw digitized hit from a silicon strip detector.
RawSiStripHit()=default
Default constructor.
void clear() override
Clear the samples, time stamp and electronics/quality fields.
ClassDefOverride(RawSiStripHit, 4)
Class declaration needed by the ROOT dictionary.
friend std::ostream & operator<<(std::ostream &output, const RawSiStripHit &hit)
Overload the stream insertion operator to output a string representation of this RawSiStripHit.
virtual ~RawSiStripHit()=default
Destructor.
Abstract base class for a silicon strip detector hit.
Definition SiStripHit.h:27