ATLAS Offline Software
Loading...
Searching...
No Matches
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
Definition MMT_Diamond.h:48
~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)
int getRoadSize() const
Definition MMT_Diamond.h:47
unsigned int getUVthreshold() const
Definition MMT_Diamond.h:49
double phiShift(const int n, const double phi, const char side) const
int m_roadSizeDownUV
Definition MMT_Diamond.h:53
void createRoads(std::vector< MMT_Road > &roads, const bool isLarge, const bool isEta1) const
int m_roadSizeUpUV
Definition MMT_Diamond.h:53
int m_roadSizeDownX
Definition MMT_Diamond.h:53
int m_roadSizeUpX
Definition MMT_Diamond.h:53
void findDiamonds(std::vector< std::shared_ptr< MMT_Hit > > &hits, std::vector< MMT_Road > &roads, std::vector< slope_t > &diamondSlopes, const int sectorPhi) const
unsigned int uCount
Definition MMT_Diamond.h:21
double my
Definition MMT_Diamond.h:24
double phi
Definition MMT_Diamond.h:31
double phiShf
Definition MMT_Diamond.h:32
double eta
Definition MMT_Diamond.h:29
int iRoadu
Definition MMT_Diamond.h:18
double mx
Definition MMT_Diamond.h:27
int iRoadv
Definition MMT_Diamond.h:19
double mxl
Definition MMT_Diamond.h:23
unsigned int totalCount
Definition MMT_Diamond.h:16
unsigned int xCount
Definition MMT_Diamond.h:20
double theta
Definition MMT_Diamond.h:28
double vavg
Definition MMT_Diamond.h:26
double dtheta
Definition MMT_Diamond.h:30
char side
Definition MMT_Diamond.h:33
bool lowRes
Definition MMT_Diamond.h:34
double uavg
Definition MMT_Diamond.h:25
int iRoad
Definition MMT_Diamond.h:17