ATLAS Offline Software
MMT_Road.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2002-2023 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  double avgZofUV(const int uv1, const int uv2) const;
22  bool checkCoincidences(const int bcwind) const;
23  unsigned int countHits() const { return m_road_hits.size(); }
24  unsigned int countRealHits() const;
25  unsigned int countUVHits(bool flag) const;
26  unsigned int countXHits(bool flag) const;
27  bool evaluateLowRes() const;
28  bool horizontalCheck() const;
29  void incrementAge(const int bcwind);
30  const std::vector<std::unique_ptr<MMT_Hit> >& getHitVector() const { return m_road_hits; }
31  int getRoadSize() const { return m_roadSize; }
32  int getRoadSizeUpX() const { return m_roadSizeUpX; }
33  int getRoadSizeDownX() const { return m_roadSizeDownX; }
34  int getRoadSizeUpUV() const { return m_roadSizeUpUV; }
35  int getRoadSizeDownUV() const { return m_roadSizeDownUV; }
36  char getSector() const { return m_sector; }
37  int getXthreshold() const { return m_xthr; }
38  int getUVthreshold() const { return m_uvthr; }
39  int iRoadx() const { return m_iroadx; }
40  int iRoadu() const { return m_iroadu; }
41  int iRoadv() const { return m_iroadv; }
42  bool matureCheck(const int bcwind) const;
43  double mxl() const;
44  void reset();
45  bool stereoCheck() const;
46 
47  private:
48  int m_iroadx;
49  int m_iroadu;
50  int m_iroadv;
51  char m_sector;
54  std::vector<std::unique_ptr<MMT_Hit> > m_road_hits;
55 };
56 #endif
MMT_Road::stereoCheck
bool stereoCheck() const
Definition: MMT_Road.cxx:196
MMT_Road::avgZofUV
double avgZofUV(const int uv1, const int uv2) const
Definition: MMT_Road.cxx:91
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:175
MMT_Road::m_road_hits
std::vector< std::unique_ptr< MMT_Hit > > m_road_hits
Definition: MMT_Road.h:54
MMT_Road::avgSofX
double avgSofX() const
Definition: MMT_Road.cxx:71
MMT_Road::getSector
char getSector() const
Definition: MMT_Road.h:36
MMT_Road::m_sector
char m_sector
Definition: MMT_Road.h:51
MMT_Road::countXHits
unsigned int countXHits(bool flag) const
Definition: MMT_Road.cxx:131
MMT_Road::evaluateLowRes
bool evaluateLowRes() const
Definition: MMT_Road.cxx:141
MMT_Road::m_roadSize
int m_roadSize
Definition: MMT_Road.h:53
MMT_Road::m_uvthr
int m_uvthr
Definition: MMT_Road.h:52
MMT_Hit.h
MMT_Road::getRoadSizeUpUV
int getRoadSizeUpUV() const
Definition: MMT_Road.h:34
MMT_Road::m_iroadx
int m_iroadx
Definition: MMT_Road.h:48
MMT_Road::iRoadv
int iRoadv() const
Definition: MMT_Road.h:41
MMT_Road::reset
void reset()
Definition: MMT_Road.cxx:192
MMT_Road::matureCheck
bool matureCheck(const int bcwind) const
Definition: MMT_Road.cxx:168
MMT_Road::m_roadSizeUpX
int m_roadSizeUpX
Definition: MMT_Road.h:53
MMT_Road::countRealHits
unsigned int countRealHits() const
Definition: MMT_Road.cxx:110
MMT_Road::iRoadu
int iRoadu() const
Definition: MMT_Road.h:40
MMT_Road::getRoadSizeDownX
int getRoadSizeDownX() const
Definition: MMT_Road.h:33
MMT_Road::getRoadSizeUpX
int getRoadSizeUpX() const
Definition: MMT_Road.h:32
MMT_Road::countHits
unsigned int countHits() const
Definition: MMT_Road.h:23
MMT_Road::countUVHits
unsigned int countUVHits(bool flag) const
Definition: MMT_Road.cxx:118
LArG4ShowerLibProcessing.hits
hits
Definition: LArG4ShowerLibProcessing.py:136
MMT_Road::iRoadx
int iRoadx() const
Definition: MMT_Road.h:39
master.flag
bool flag
Definition: master.py:29
MMT_Road::m_roadSizeDownUV
int m_roadSizeDownUV
Definition: MMT_Road.h:53
MMT_Road::m_xthr
int m_xthr
Definition: MMT_Road.h:52
MMT_Road::getRoadSize
int getRoadSize() const
Definition: MMT_Road.h:31
MMT_Road::getRoadSizeDownUV
int getRoadSizeDownUV() const
Definition: MMT_Road.h:35
MMT_Road::m_roadSizeUpUV
int m_roadSizeUpUV
Definition: MMT_Road.h:53
MMT_Road::m_iroadv
int m_iroadv
Definition: MMT_Road.h:50
MMT_Road::incrementAge
void incrementAge(const int bcwind)
Definition: MMT_Road.cxx:159
MMT_Road::horizontalCheck
bool horizontalCheck() const
Definition: MMT_Road.cxx:150
MMT_Road::avgSofUV
double avgSofUV(const int uv1, const int uv2) const
Definition: MMT_Road.cxx:81
MMT_Road::checkCoincidences
bool checkCoincidences(const int bcwind) const
Definition: MMT_Road.cxx:101
MMT_Road::m_roadSizeDownX
int m_roadSizeDownX
Definition: MMT_Road.h:53
MMT_Road::getXthreshold
int getXthreshold() const
Definition: MMT_Road.h:37
MMT_Road
Definition: MMT_Road.h:12
MMT_Road::m_iroadu
int m_iroadu
Definition: MMT_Road.h:49
MMT_Road::getHitVector
const std::vector< std::unique_ptr< MMT_Hit > > & getHitVector() const
Definition: MMT_Road.h:30
MMT_Road::getUVthreshold
int getUVthreshold() const
Definition: MMT_Road.h:38
MMT_Road::addHits
void addHits(std::vector< std::shared_ptr< MMT_Hit > > &hits)
Definition: MMT_Road.cxx:23
MMT_Road::~MMT_Road
~MMT_Road()=default