ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
ForwardDetectors
ALFA
ALFA_Reconstruction
ALFA_GloRec
src
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>
13
class
ALFA_LocRecCorrEvent
;
14
15
16
17
19
//
20
// user class to store ONE local hit
21
//
23
class
AlfaLocalHit
{
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;
29
const
ALFA_LocRecCorrEvent
*
m_LocRecCorr
=
nullptr
;
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
//
90
class
AlfaTrackCand
{
91
private
:
92
int
m_arm
;
93
float
m_x
,
m_y
,
m_z
;
94
float
m_xslope
,
m_yslope
;
95
AlfaLocalHits
*
m_trackcandhits
;
96
AlfaLocalHit
*
m_nearlocalhit
;
97
AlfaLocalHit
*
m_farlocalhit
;
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
();
106
int
IsValidTrack
() {
return
(
m_nearlocalhit
&&
m_farlocalhit
);};
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
;};
116
AlfaLocalHit
*
GetNearLocalHit
(){
return
m_nearlocalhit
;};
117
AlfaLocalHit
*
GetFarLocalHit
() {
return
m_farlocalhit
; };
118
const
ALFA_LocRecCorrEvent
*
GetNearLocRecCorr
()
const
{
return
m_nearlocalhit
->GetLocRecCorr();};
119
const
ALFA_LocRecCorrEvent
*
GetFarLocRecCorr
()
const
{
return
m_farlocalhit
->GetLocRecCorr();}
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
ALFA_LocRecCorrEvent
Definition
ALFA_LocRecCorrEvent.h:8
AlfaLocalHit
Definition
AlfaLocalHits.h:23
AlfaLocalHit::m_LocRecCorr
const ALFA_LocRecCorrEvent * m_LocRecCorr
Definition
AlfaLocalHits.h:29
AlfaLocalHit::GetPotNum
int GetPotNum() const
Definition
AlfaLocalHits.h:36
AlfaLocalHit::AssignZ
void AssignZ()
Definition
AlfaLocalHits.cxx:64
AlfaLocalHit::GetY
float GetY() const
Definition
AlfaLocalHits.h:38
AlfaLocalHit::m_potname
TString m_potname
Definition
AlfaLocalHits.h:26
AlfaLocalHit::m_x
Float_t m_x
Definition
AlfaLocalHits.h:28
AlfaLocalHit::GetLocRecCorr
const ALFA_LocRecCorrEvent * GetLocRecCorr() const
Definition
AlfaLocalHits.h:44
AlfaLocalHit::GetX
float GetX() const
Definition
AlfaLocalHits.h:37
AlfaLocalHit::AlfaLocalHit
AlfaLocalHit()
Definition
AlfaLocalHits.cxx:24
AlfaLocalHit::Print
void Print()
Definition
AlfaLocalHits.cxx:82
AlfaLocalHit::m_ishit
int m_ishit
Definition
AlfaLocalHits.h:27
AlfaLocalHit::m_z
Float_t m_z
Definition
AlfaLocalHits.h:28
AlfaLocalHit::IsHi
int IsHi() const
Definition
AlfaLocalHits.h:40
AlfaLocalHit::m_y
Float_t m_y
Definition
AlfaLocalHits.h:28
AlfaLocalHit::SetHit
void SetHit(const ALFA_LocRecCorrEvent *LocRecCorrHit)
Definition
AlfaLocalHits.cxx:52
AlfaLocalHit::GetPotName
TString GetPotName() const
Definition
AlfaLocalHits.h:42
AlfaLocalHit::GetMDname
TString GetMDname(int i)
Definition
AlfaLocalHits.cxx:102
AlfaLocalHit::GetMDindex
int GetMDindex(const char *name)
Definition
AlfaLocalHits.cxx:90
AlfaLocalHit::m_pot
int m_pot
Definition
AlfaLocalHits.h:25
AlfaLocalHit::GetZ
float GetZ() const
Definition
AlfaLocalHits.h:39
AlfaLocalHits
Definition
AlfaLocalHits.h:58
AlfaLocalHits::AddHit
int AddHit(const AlfaLocalHit &h)
Definition
AlfaLocalHits.cxx:134
AlfaLocalHits::m_nhits
int m_nhits
Definition
AlfaLocalHits.h:61
AlfaLocalHits::DumpPaths
void DumpPaths()
Definition
AlfaLocalHits.cxx:171
AlfaLocalHits::Reset
void Reset()
Definition
AlfaLocalHits.cxx:139
AlfaLocalHits::GetHit
AlfaLocalHit * GetHit(int ihit)
Definition
AlfaLocalHits.cxx:257
AlfaLocalHits::m_pathpattern
TString m_pathpattern
Definition
AlfaLocalHits.h:64
AlfaLocalHits::update
void update()
Definition
AlfaLocalHits.cxx:130
AlfaLocalHits::SetPathPattern
void SetPathPattern(const char *pattern)
Definition
AlfaLocalHits.cxx:245
AlfaLocalHits::size
int size()
Definition
AlfaLocalHits.cxx:152
AlfaLocalHits::ApplyPathPattern
void ApplyPathPattern(const char *pattern)
Definition
AlfaLocalHits.cxx:178
AlfaLocalHits::m_npaths
int m_npaths
Definition
AlfaLocalHits.h:63
AlfaLocalHits::m_paths
std::vector< AlfaLocalHits > m_paths
Definition
AlfaLocalHits.h:62
AlfaLocalHits::AlfaLocalHits
AlfaLocalHits()
Definition
AlfaLocalHits.cxx:123
AlfaLocalHits::m_hits
std::vector< AlfaLocalHit > m_hits
Definition
AlfaLocalHits.h:60
AlfaLocalHits::GetNpaths
int GetNpaths()
Definition
AlfaLocalHits.h:73
AlfaLocalHits::GetPathHits
AlfaLocalHits * GetPathHits(int ipath)
Definition
AlfaLocalHits.cxx:249
AlfaLocalHits::ResetPaths
void ResetPaths()
Definition
AlfaLocalHits.cxx:145
AlfaLocalHits::GetNhits
int GetNhits()
Definition
AlfaLocalHits.h:72
AlfaLocalHits::GetPathPattern
TString GetPathPattern()
Definition
AlfaLocalHits.h:80
AlfaLocalHits::Dump
void Dump()
Definition
AlfaLocalHits.cxx:159
AlfaTrackCand::GetX
float GetX()
Definition
AlfaLocalHits.h:111
AlfaTrackCand::IsRightTrack
int IsRightTrack()
Definition
AlfaLocalHits.cxx:310
AlfaTrackCand::m_xslope
float m_xslope
Definition
AlfaLocalHits.h:94
AlfaTrackCand::IsLowerArmTrack
int IsLowerArmTrack()
Definition
AlfaLocalHits.cxx:324
AlfaTrackCand::CalcImpactPoints
void CalcImpactPoints()
Definition
AlfaLocalHits.cxx:429
AlfaTrackCand::IsLeftAndRightTrack
int IsLeftAndRightTrack()
Definition
AlfaLocalHits.cxx:361
AlfaTrackCand::Dump
void Dump() const
Definition
AlfaLocalHits.cxx:455
AlfaTrackCand::IsValidTrack
int IsValidTrack()
Definition
AlfaLocalHits.h:106
AlfaTrackCand::m_z
float m_z
Definition
AlfaLocalHits.h:93
AlfaTrackCand::GetNearLocRecCorr
const ALFA_LocRecCorrEvent * GetNearLocRecCorr() const
Definition
AlfaLocalHits.h:118
AlfaTrackCand::m_farimpactpoint
HepGeom::Point3D< double > m_farimpactpoint
Definition
AlfaLocalHits.h:99
AlfaTrackCand::GetXslope
float GetXslope()
Definition
AlfaLocalHits.h:114
AlfaTrackCand::GetNearImpactPoint
HepGeom::Point3D< double > * GetNearImpactPoint()
Definition
AlfaLocalHits.h:121
AlfaTrackCand::m_arm
int m_arm
Definition
AlfaLocalHits.h:92
AlfaTrackCand::GetY
float GetY()
Definition
AlfaLocalHits.h:112
AlfaTrackCand::CalcTrack
void CalcTrack()
Definition
AlfaLocalHits.cxx:369
AlfaTrackCand::GetNearLocalHit
AlfaLocalHit * GetNearLocalHit()
Definition
AlfaLocalHits.h:116
AlfaTrackCand::GetYslope
float GetYslope()
Definition
AlfaLocalHits.h:115
AlfaTrackCand::GetFarLocalHit
AlfaLocalHit * GetFarLocalHit()
Definition
AlfaLocalHits.h:117
AlfaTrackCand::m_nearimpactpoint
HepGeom::Point3D< double > m_nearimpactpoint
Definition
AlfaLocalHits.h:98
AlfaTrackCand::m_yslope
float m_yslope
Definition
AlfaLocalHits.h:94
AlfaTrackCand::IsUpperArmTrack
int IsUpperArmTrack()
Definition
AlfaLocalHits.cxx:338
AlfaTrackCand::m_trackcandhits
AlfaLocalHits * m_trackcandhits
Definition
AlfaLocalHits.h:95
AlfaTrackCand::GetZ
float GetZ()
Definition
AlfaLocalHits.h:113
AlfaTrackCand::GetFarImpactPoint
HepGeom::Point3D< double > * GetFarImpactPoint()
Definition
AlfaLocalHits.h:122
AlfaTrackCand::GetFarLocRecCorr
const ALFA_LocRecCorrEvent * GetFarLocRecCorr() const
Definition
AlfaLocalHits.h:119
AlfaTrackCand::m_farlocalhit
AlfaLocalHit * m_farlocalhit
Definition
AlfaLocalHits.h:97
AlfaTrackCand::GetArmNum
int GetArmNum()
Definition
AlfaLocalHits.h:110
AlfaTrackCand::m_x
float m_x
Definition
AlfaLocalHits.h:93
AlfaTrackCand::m_nearlocalhit
AlfaLocalHit * m_nearlocalhit
Definition
AlfaLocalHits.h:96
AlfaTrackCand::m_y
float m_y
Definition
AlfaLocalHits.h:93
AlfaTrackCand::IsLeftOrRightTrack
int IsLeftOrRightTrack()
Definition
AlfaLocalHits.cxx:353
AlfaTrackCand::AlfaTrackCand
AlfaTrackCand(AlfaLocalHits *hits)
Definition
AlfaLocalHits.cxx:272
AlfaTrackCand::IsLeftTrack
int IsLeftTrack()
Definition
AlfaLocalHits.cxx:296
h
Header file for AthHistogramAlgorithm.
Generated on
for ATLAS Offline Software by
1.17.0