ATLAS Offline Software
Loading...
Searching...
No Matches
MMT_Road.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4
5#ifndef MMT_ROAD_H
6#define MMT_ROAD_H
7
8#include "MMT_Hit.h"
9#include <cmath>
10#include <numeric>
11
12class MMT_Road {
13 public:
14 MMT_Road(const char sector, const int roadSize, const int UpX, const int DownX, const int UpUV, const int DownUV, const int xthr, const int uvthr,
15 const int iroadx, const int iroadu = -1, const int iroadv = -1);
16 ~MMT_Road()=default;
17
18 void addHits(std::vector<std::shared_ptr<MMT_Hit> > &hits);
19 double avgSofX() const;
20 double avgSofUV(const int uv1, const int uv2) const;
21 bool checkCoincidences(const int bcwind) const {
22 return horizontalCheck() && stereoCheck() && matureCheck(bcwind);
23 }
24 unsigned int countHits() const { return m_road_hits.size(); }
25 unsigned int countRealHits() const;
26 unsigned int countUVHits(bool flag) const;
27 unsigned int countXHits(bool flag) const;
28 bool evaluateLowRes() const;
29 bool horizontalCheck() const;
30 void incrementAge(const int bcwind);
31 const std::vector<MMT_Hit>& getHitVector() const { return m_road_hits; }
32 char getSector() const { return m_sector; }
33 int getXthreshold() const { return m_xthr; }
34 int getUVthreshold() const { return m_uvthr; }
35 int iRoadx() const { return m_iroadx; }
36 int iRoadu() const { return m_iroadu; }
37 int iRoadv() const { return m_iroadv; }
38 bool matureCheck(const int bcwind) const;
39 double mxl() const;
40 void reset();
41 bool stereoCheck() const;
42
43 private:
44 std::vector<MMT_Hit> m_road_hits;
49};
50#endif
int getUVthreshold() const
Definition MMT_Road.h:34
int iRoadv() const
Definition MMT_Road.h:37
unsigned int countRealHits() const
Definition MMT_Road.cxx:95
int getXthreshold() const
Definition MMT_Road.h:33
double m_slopeUlow
Definition MMT_Road.h:45
double mxl() const
Definition MMT_Road.cxx:146
unsigned int countHits() const
Definition MMT_Road.h:24
double m_slopeXhigh
Definition MMT_Road.h:45
const std::vector< MMT_Hit > & getHitVector() const
Definition MMT_Road.h:31
int m_xthr
Definition MMT_Road.h:47
void incrementAge(const int bcwind)
Definition MMT_Road.cxx:130
double m_slopeXlow
Definition MMT_Road.h:45
int iRoadu() const
Definition MMT_Road.h:36
std::vector< MMT_Hit > m_road_hits
Definition MMT_Road.h:44
bool stereoCheck() const
Definition MMT_Road.cxx:166
int iRoadx() const
Definition MMT_Road.h:35
bool checkCoincidences(const int bcwind) const
Definition MMT_Road.h:21
~MMT_Road()=default
double avgSofX() const
Definition MMT_Road.cxx:70
void addHits(std::vector< std::shared_ptr< MMT_Hit > > &hits)
Definition MMT_Road.cxx:29
char getSector() const
Definition MMT_Road.h:32
int m_iroadu
Definition MMT_Road.h:46
unsigned int countUVHits(bool flag) const
Definition MMT_Road.cxx:100
int m_iroadv
Definition MMT_Road.h:46
double m_slopeVlow
Definition MMT_Road.h:45
double m_slopeUhigh
Definition MMT_Road.h:45
double m_slopeVhigh
Definition MMT_Road.h:45
double avgSofUV(const int uv1, const int uv2) const
Definition MMT_Road.cxx:82
char m_sector
Definition MMT_Road.h:48
bool evaluateLowRes() const
Definition MMT_Road.cxx:110
int m_uvthr
Definition MMT_Road.h:47
bool matureCheck(const int bcwind) const
Definition MMT_Road.cxx:139
bool horizontalCheck() const
Definition MMT_Road.cxx:119
int m_iroadx
Definition MMT_Road.h:46
unsigned int countXHits(bool flag) const
Definition MMT_Road.cxx:105
MMT_Road(const char sector, const int roadSize, const int UpX, const int DownX, const int UpUV, const int DownUV, const int xthr, const int uvthr, const int iroadx, const int iroadu=-1, const int iroadv=-1)
Definition MMT_Road.cxx:7
void reset()
Definition MMT_Road.cxx:162