ATLAS Offline Software
AlfaLocalHits.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef AlfaLocalHits_h
6 #define AlfaLocalHits_h
7 
8 
9 // ROOT headers
10 #include "CLHEP/Geometry/Point3D.h"
11 #include "TString.h"
12 #include <vector>
14 
15 
16 
17 
19 //
20 // user class to store ONE local hit
21 //
24  private:
25  int m_pot = 0;
26  TString m_potname;
27  int m_ishit = 0;
28  Float_t m_x = 0.0F, m_y = 0.0F, m_z = 0.0F;
30  public:
31  AlfaLocalHit();
32  AlfaLocalHit(const ALFA_LocRecCorrEvent * LocRecCorrHit);
33  AlfaLocalHit(const AlfaLocalHit * h);
34  void SetHit(const ALFA_LocRecCorrEvent * LocRecCorrHit);
35  void AssignZ();
36  int GetPotNum() const {return m_pot;};
37  float GetX() const {return m_x;};
38  float GetY() const {return m_y;};
39  float GetZ() const {return m_z;};
40  int IsHi() const {return m_ishit;};
41  int GetMDindex(const char * name);
42  TString GetPotName() const {return m_potname;};
43  TString GetMDname (int i);
44  const ALFA_LocRecCorrEvent * GetLocRecCorr() const {return m_LocRecCorr;};
45  void Print();
46 };
47 
49 //
50 // user class to store MULTIPLE local hits
51 // inherits from AlfaLocalHit
52 //
53 // from such a collection of hits one can
54 // select global track candidates by means
55 // of applying "paths", i.e. B7L1U_A7L1U_X_X etc.
56 //
58 class AlfaLocalHits : public AlfaLocalHit {
59  private:
60  std::vector<AlfaLocalHit> m_hits;
61  int m_nhits;
62  std::vector<AlfaLocalHits> m_paths;
63  int m_npaths;
64  TString m_pathpattern;
65  public:
66  AlfaLocalHits(); // .. default ctor.
67  void update();
68  int AddHit(const AlfaLocalHit& h);
69  void Reset();
70  void ResetPaths();
71  int size();
72  int GetNhits() {return m_nhits;}
73  int GetNpaths(){return m_npaths;}
74  void Dump();
75  void DumpPaths();
76  void ApplyPathPattern(const char * pattern);
77  AlfaLocalHits * GetPathHits(int ipath);
78  AlfaLocalHit * GetHit(int ihit);
79  void SetPathPattern(const char * pattern);
80  TString GetPathPattern(){return m_pathpattern;}
81 };
82 
83 
84 
86 //
87 // user class to store one track candidate
88 //
91  private:
92  int m_arm;
93  float m_x, m_y, m_z;
98  HepGeom::Point3D<double> m_nearimpactpoint;
99  HepGeom::Point3D<double> m_farimpactpoint;
100  public:
101  AlfaTrackCand(AlfaLocalHits * hits); // .. explicit ctor.
102  int IsLeftTrack();
103  int IsRightTrack();
104  int IsLowerArmTrack();
105  int IsUpperArmTrack();
107  int IsLeftOrRightTrack();
108  int IsLeftAndRightTrack();
109  void CalcTrack();
110  int GetArmNum(){return m_arm;};
111  float GetX(){return m_x;};
112  float GetY(){return m_y;};
113  float GetZ(){return m_z;};
114  float GetXslope(){return m_xslope;};
115  float GetYslope(){return m_yslope;};
120  void CalcImpactPoints();
121  HepGeom::Point3D<double> * GetNearImpactPoint(){return &m_nearimpactpoint;};
122  HepGeom::Point3D<double> * GetFarImpactPoint(){return &m_farimpactpoint;};
123  void Dump() const;
124 };
125 
126 
127 
128 #endif // AlfaLocalHits_h
mergePhysValFiles.pattern
pattern
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:25
AlfaLocalHit::AlfaLocalHit
AlfaLocalHit()
Definition: AlfaLocalHits.cxx:24
AlfaTrackCand::IsLowerArmTrack
int IsLowerArmTrack()
Definition: AlfaLocalHits.cxx:324
AlfaLocalHits::GetPathPattern
TString GetPathPattern()
Definition: AlfaLocalHits.h:80
TRTCalib_Extractor.hits
hits
Definition: TRTCalib_Extractor.py:35
AlfaLocalHit::m_z
Float_t m_z
Definition: AlfaLocalHits.h:28
AlfaTrackCand::GetFarLocalHit
AlfaLocalHit * GetFarLocalHit()
Definition: AlfaLocalHits.h:117
AlfaTrackCand::GetNearLocRecCorr
const ALFA_LocRecCorrEvent * GetNearLocRecCorr() const
Definition: AlfaLocalHits.h:118
AlfaTrackCand::GetY
float GetY()
Definition: AlfaLocalHits.h:112
AlfaLocalHits::DumpPaths
void DumpPaths()
Definition: AlfaLocalHits.cxx:171
AlfaTrackCand::IsLeftAndRightTrack
int IsLeftAndRightTrack()
Definition: AlfaLocalHits.cxx:361
AlfaLocalHit::m_x
Float_t m_x
Definition: AlfaLocalHits.h:28
AlfaTrackCand::m_farimpactpoint
HepGeom::Point3D< double > m_farimpactpoint
Definition: AlfaLocalHits.h:99
AlfaLocalHits::m_pathpattern
TString m_pathpattern
Definition: AlfaLocalHits.h:64
AlfaLocalHits::AlfaLocalHits
AlfaLocalHits()
Definition: AlfaLocalHits.cxx:123
AlfaLocalHits::AddHit
int AddHit(const AlfaLocalHit &h)
Definition: AlfaLocalHits.cxx:134
AlfaLocalHits::m_paths
std::vector< AlfaLocalHits > m_paths
Definition: AlfaLocalHits.h:62
AlfaLocalHit::m_potname
TString m_potname
Definition: AlfaLocalHits.h:26
AlfaTrackCand::m_farlocalhit
AlfaLocalHit * m_farlocalhit
Definition: AlfaLocalHits.h:97
AlfaLocalHits
Definition: AlfaLocalHits.h:58
AlfaTrackCand::GetXslope
float GetXslope()
Definition: AlfaLocalHits.h:114
AlfaTrackCand::GetFarLocRecCorr
const ALFA_LocRecCorrEvent * GetFarLocRecCorr() const
Definition: AlfaLocalHits.h:119
AlfaLocalHits::GetPathHits
AlfaLocalHits * GetPathHits(int ipath)
Definition: AlfaLocalHits.cxx:249
AlfaTrackCand::m_arm
int m_arm
Definition: AlfaLocalHits.h:92
AlfaTrackCand::IsLeftTrack
int IsLeftTrack()
Definition: AlfaLocalHits.cxx:296
AlfaTrackCand::m_x
float m_x
Definition: AlfaLocalHits.h:93
AlfaLocalHits::Dump
void Dump()
Definition: AlfaLocalHits.cxx:159
AlfaLocalHit::m_ishit
int m_ishit
Definition: AlfaLocalHits.h:27
AlfaLocalHits::GetNpaths
int GetNpaths()
Definition: AlfaLocalHits.h:73
AlfaTrackCand::m_xslope
float m_xslope
Definition: AlfaLocalHits.h:94
AlfaLocalHit::GetPotNum
int GetPotNum() const
Definition: AlfaLocalHits.h:36
AlfaLocalHits::size
int size()
Definition: AlfaLocalHits.cxx:152
AlfaLocalHits::GetNhits
int GetNhits()
Definition: AlfaLocalHits.h:72
lumiFormat.i
int i
Definition: lumiFormat.py:85
AlfaTrackCand::GetZ
float GetZ()
Definition: AlfaLocalHits.h:113
AlfaLocalHit::m_LocRecCorr
const ALFA_LocRecCorrEvent * m_LocRecCorr
Definition: AlfaLocalHits.h:29
AlfaLocalHit::GetY
float GetY() const
Definition: AlfaLocalHits.h:38
AlfaTrackCand::GetYslope
float GetYslope()
Definition: AlfaLocalHits.h:115
AlfaLocalHits::SetPathPattern
void SetPathPattern(const char *pattern)
Definition: AlfaLocalHits.cxx:245
AlfaLocalHit::AssignZ
void AssignZ()
Definition: AlfaLocalHits.cxx:64
AlfaLocalHit::GetMDindex
int GetMDindex(const char *name)
Definition: AlfaLocalHits.cxx:90
AlfaLocalHit::GetLocRecCorr
const ALFA_LocRecCorrEvent * GetLocRecCorr() const
Definition: AlfaLocalHits.h:44
AlfaTrackCand::m_nearlocalhit
AlfaLocalHit * m_nearlocalhit
Definition: AlfaLocalHits.h:96
ALFA_LocRecCorrEvent
Definition: ALFA_LocRecCorrEvent.h:8
AlfaTrackCand::GetFarImpactPoint
HepGeom::Point3D< double > * GetFarImpactPoint()
Definition: AlfaLocalHits.h:122
AlfaTrackCand::GetNearLocalHit
AlfaLocalHit * GetNearLocalHit()
Definition: AlfaLocalHits.h:116
AlfaLocalHit::GetZ
float GetZ() const
Definition: AlfaLocalHits.h:39
AlfaLocalHits::m_npaths
int m_npaths
Definition: AlfaLocalHits.h:63
AlfaTrackCand::m_trackcandhits
AlfaLocalHits * m_trackcandhits
Definition: AlfaLocalHits.h:95
AlfaLocalHits::m_hits
std::vector< AlfaLocalHit > m_hits
Definition: AlfaLocalHits.h:60
AlfaLocalHits::GetHit
AlfaLocalHit * GetHit(int ihit)
Definition: AlfaLocalHits.cxx:257
AlfaLocalHits::ResetPaths
void ResetPaths()
Definition: AlfaLocalHits.cxx:145
AlfaTrackCand::AlfaTrackCand
AlfaTrackCand(AlfaLocalHits *hits)
Definition: AlfaLocalHits.cxx:272
AlfaTrackCand::GetX
float GetX()
Definition: AlfaLocalHits.h:111
AlfaTrackCand::m_y
float m_y
Definition: AlfaLocalHits.h:93
AlfaLocalHit::GetMDname
TString GetMDname(int i)
Definition: AlfaLocalHits.cxx:102
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
AlfaTrackCand::CalcTrack
void CalcTrack()
Definition: AlfaLocalHits.cxx:369
AlfaTrackCand::IsValidTrack
int IsValidTrack()
Definition: AlfaLocalHits.h:106
AlfaLocalHit::IsHi
int IsHi() const
Definition: AlfaLocalHits.h:40
AlfaTrackCand::IsLeftOrRightTrack
int IsLeftOrRightTrack()
Definition: AlfaLocalHits.cxx:353
AlfaTrackCand::m_yslope
float m_yslope
Definition: AlfaLocalHits.h:94
AlfaLocalHit
Definition: AlfaLocalHits.h:23
h
AlfaLocalHit::SetHit
void SetHit(const ALFA_LocRecCorrEvent *LocRecCorrHit)
Definition: AlfaLocalHits.cxx:52
AlfaLocalHits::m_nhits
int m_nhits
Definition: AlfaLocalHits.h:61
AlfaTrackCand::IsUpperArmTrack
int IsUpperArmTrack()
Definition: AlfaLocalHits.cxx:338
AlfaLocalHit::m_pot
int m_pot
Definition: AlfaLocalHits.h:25
AlfaLocalHits::Reset
void Reset()
Definition: AlfaLocalHits.cxx:139
AlfaLocalHit::Print
void Print()
Definition: AlfaLocalHits.cxx:82
AlfaLocalHits::ApplyPathPattern
void ApplyPathPattern(const char *pattern)
Definition: AlfaLocalHits.cxx:178
AlfaTrackCand::m_nearimpactpoint
HepGeom::Point3D< double > m_nearimpactpoint
Definition: AlfaLocalHits.h:98
AlfaLocalHit::GetX
float GetX() const
Definition: AlfaLocalHits.h:37
AlfaTrackCand::GetArmNum
int GetArmNum()
Definition: AlfaLocalHits.h:110
AlfaTrackCand::IsRightTrack
int IsRightTrack()
Definition: AlfaLocalHits.cxx:310
AlfaLocalHit::GetPotName
TString GetPotName() const
Definition: AlfaLocalHits.h:42
AlfaLocalHits::update
void update()
Definition: AlfaLocalHits.cxx:130
AlfaTrackCand::m_z
float m_z
Definition: AlfaLocalHits.h:93
AlfaTrackCand::GetNearImpactPoint
HepGeom::Point3D< double > * GetNearImpactPoint()
Definition: AlfaLocalHits.h:121
AlfaTrackCand
Definition: AlfaLocalHits.h:90
AlfaTrackCand::CalcImpactPoints
void CalcImpactPoints()
Definition: AlfaLocalHits.cxx:429
AlfaLocalHit::m_y
Float_t m_y
Definition: AlfaLocalHits.h:28
AlfaTrackCand::Dump
void Dump() const
Definition: AlfaLocalHits.cxx:455