ATLAS Offline Software
Loading...
Searching...
No Matches
TrigT1NSWSimTools/src/MMT_Diamond.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3 */
4
5#ifndef MMT_DIAMOND_H
6#define MMT_DIAMOND_H
7
9#include "MMT_Road.h"
10#include <cmath>
11#include <vector>
12
13struct slope_t {
14 uint64_t event{0};
15 int BC{-1};
16 unsigned int totalCount{999};
17 int iRoad{-1};
18 int iRoadu{-1};
19 int iRoadv{-1};
20 unsigned int xCount{999};
21 unsigned int uCount{999};
22 int age{-1};
23 double mxl{999};
24 double my{999};
25 double uavg{999};
26 double vavg{999};
27 double mx{999};
28 double theta{999};
29 double eta{999};
30 double dtheta{999};
31 double phi{999};
32 double phiShf{999};
33 char side{'-'};
34 bool lowRes{false};
35};
36
37class MMT_Diamond : public AthMessaging {
38 public:
39 MMT_Diamond(const int diamXthreshold, const bool uv, const int diamUVthreshold, const int roadSize,
40 const int olapEtaUp, const int olapEtaDown, const int olapStereoUp, const int olapStereoDown);
41 ~MMT_Diamond() = default;
42
43 void createRoads(std::vector<MMT_Road>& roads, const bool isLarge, const bool isEta1) const;
44 void findDiamonds(std::vector<std::shared_ptr<MMT_Hit> >& hits, std::vector<MMT_Road>& roads, std::vector<slope_t>& diamondSlopes, const int sectorPhi) const;
45 double phiShift(const int n, const double phi, const char side) const;
46
47 int getRoadSize() const { return m_roadSize; }
48 unsigned int getXthreshold() const { return m_xthr; }
49 unsigned int getUVthreshold() const { return m_uvthr; }
50
51 private:
52 bool m_uvflag{};
54 int m_xthr{}, m_uvthr{};
55};
56#endif
Scalar phi() const
phi method
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
unsigned int getXthreshold() const
~MMT_Diamond()=default
MMT_Diamond(const int diamXthreshold, const bool uv, const int diamUVthreshold, const int roadSize, const int olapEtaUp, const int olapEtaDown, const int olapStereoUp, const int olapStereoDown)
unsigned int getUVthreshold() const
double phiShift(const int n, const double phi, const char side) const
void createRoads(std::vector< MMT_Road > &roads, const bool isLarge, const bool isEta1) const
void findDiamonds(std::vector< std::shared_ptr< MMT_Hit > > &hits, std::vector< MMT_Road > &roads, std::vector< slope_t > &diamondSlopes, const int sectorPhi) const