SND@LHC Software
Loading...
Searching...
No Matches
sndVetoPlane.h
Go to the documentation of this file.
1#ifndef SND_VETOPLANE_H
2#define SND_VETOPLANE_H
3
4#include <vector>
5
6#include "MuFilter.h"
7#include "MuFilterHit.h"
8#include "sndConfiguration.h"
9
10namespace snd {
11 namespace analysis_tools {
13 {
14 public:
15
16 // right and left side of Veto bars
17 template <class T>
18 struct rl_pair
19 {
20 T right{};
21 T left{};
22 };
23
24 // hits vector, each hit has info about timestamp, qdc and position
25 struct VetoHit
26 {
28 int bar;
29
30 double qdc;
31 double timestamp;
32 double x;
33 double y;
34 double z;
35
36 bool is_x; // true if vertical (measures x)
38
39 void Print() const;
40 };
41
42 VetoPlane(std::vector<MuFilterHit*> snd_hits, const Configuration &configuration, MuFilter *muon_filter_geometry, int station);
43
44 const int GetNHits() const { return hits_.size(); };
45 const int GetStation() const { return station_; }
46
47 const double GetTotQdc() const;
48 const double GetBarQdc(int bar_to_compute) const;
49 const int GetBarNHits(int bar_to_compute) const;
50 const std::vector<VetoHit> GetHits() const { return hits_; };
51 const int GetNHitBars() const;
52
53 void TimeFilter(double min_timestamp, double max_timestamp);
54
55 private:
56 std::vector<VetoHit> hits_;
59 };
60 }
61}
62
63#endif
void TimeFilter(double min_timestamp, double max_timestamp)
std::vector< VetoHit > hits_
const double GetTotQdc() const
const std::vector< VetoHit > GetHits() const
const int GetBarNHits(int bar_to_compute) const
const double GetBarQdc(int bar_to_compute) const