ATLAS Offline Software
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 
12 class 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;
48  char m_sector;
49 };
50 #endif
MMT_Road::stereoCheck
bool stereoCheck() const
Definition: MMT_Road.cxx:166
MMT_Road::MMT_Road
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
MMT_Road::mxl
double mxl() const
Definition: MMT_Road.cxx:146
TRTCalib_Extractor.hits
hits
Definition: TRTCalib_Extractor.py:35
MMT_Road::avgSofX
double avgSofX() const
Definition: MMT_Road.cxx:70
MMT_Road::getSector
char getSector() const
Definition: MMT_Road.h:32
MMT_Road::m_sector
char m_sector
Definition: MMT_Road.h:48
MMT_Road::countXHits
unsigned int countXHits(bool flag) const
Definition: MMT_Road.cxx:105
MMT_Road::evaluateLowRes
bool evaluateLowRes() const
Definition: MMT_Road.cxx:110
MMT_Road::m_uvthr
int m_uvthr
Definition: MMT_Road.h:47
MMT_Hit.h
MMT_Road::m_iroadx
int m_iroadx
Definition: MMT_Road.h:46
MMT_Road::iRoadv
int iRoadv() const
Definition: MMT_Road.h:37
MMT_Road::m_slopeUhigh
double m_slopeUhigh
Definition: MMT_Road.h:45
MMT_Road::reset
void reset()
Definition: MMT_Road.cxx:162
MMT_Road::matureCheck
bool matureCheck(const int bcwind) const
Definition: MMT_Road.cxx:139
MMT_Road::m_slopeVlow
double m_slopeVlow
Definition: MMT_Road.h:45
MMT_Road::countRealHits
unsigned int countRealHits() const
Definition: MMT_Road.cxx:95
MMT_Road::iRoadu
int iRoadu() const
Definition: MMT_Road.h:36
MMT_Road::countHits
unsigned int countHits() const
Definition: MMT_Road.h:24
MMT_Road::countUVHits
unsigned int countUVHits(bool flag) const
Definition: MMT_Road.cxx:100
MMT_Road::iRoadx
int iRoadx() const
Definition: MMT_Road.h:35
master.flag
bool flag
Definition: master.py:29
MMT_Road::m_slopeXhigh
double m_slopeXhigh
Definition: MMT_Road.h:45
MMT_Road::m_xthr
int m_xthr
Definition: MMT_Road.h:47
MMT_Road::m_iroadv
int m_iroadv
Definition: MMT_Road.h:46
MMT_Road::incrementAge
void incrementAge(const int bcwind)
Definition: MMT_Road.cxx:130
MMT_Road::horizontalCheck
bool horizontalCheck() const
Definition: MMT_Road.cxx:119
MMT_Road::avgSofUV
double avgSofUV(const int uv1, const int uv2) const
Definition: MMT_Road.cxx:82
MMT_Road::checkCoincidences
bool checkCoincidences(const int bcwind) const
Definition: MMT_Road.h:21
MMT_Road::m_road_hits
std::vector< MMT_Hit > m_road_hits
Definition: MMT_Road.h:44
MMT_Road::getXthreshold
int getXthreshold() const
Definition: MMT_Road.h:33
MMT_Road::m_slopeUlow
double m_slopeUlow
Definition: MMT_Road.h:45
MMT_Road
Definition: MMT_Road.h:12
MMT_Road::m_slopeVhigh
double m_slopeVhigh
Definition: MMT_Road.h:45
MMT_Road::m_iroadu
int m_iroadu
Definition: MMT_Road.h:46
MMT_Road::getHitVector
const std::vector< MMT_Hit > & getHitVector() const
Definition: MMT_Road.h:31
MMT_Road::getUVthreshold
int getUVthreshold() const
Definition: MMT_Road.h:34
MMT_Road::addHits
void addHits(std::vector< std::shared_ptr< MMT_Hit > > &hits)
Definition: MMT_Road.cxx:29
MMT_Road::~MMT_Road
~MMT_Road()=default
MMT_Road::m_slopeXlow
double m_slopeXlow
Definition: MMT_Road.h:45