ATLAS Offline Software
Loading...
Searching...
No Matches
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:
32 AlfaLocalHit(const ALFA_LocRecCorrEvent * LocRecCorrHit);
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);
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//
59 private:
60 std::vector<AlfaLocalHit> m_hits;
62 std::vector<AlfaLocalHits> m_paths;
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();
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;};
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
const ALFA_LocRecCorrEvent * m_LocRecCorr
int GetPotNum() const
float GetY() const
TString m_potname
const ALFA_LocRecCorrEvent * GetLocRecCorr() const
float GetX() const
int IsHi() const
void SetHit(const ALFA_LocRecCorrEvent *LocRecCorrHit)
TString GetPotName() const
TString GetMDname(int i)
int GetMDindex(const char *name)
float GetZ() const
int AddHit(const AlfaLocalHit &h)
AlfaLocalHit * GetHit(int ihit)
TString m_pathpattern
void SetPathPattern(const char *pattern)
void ApplyPathPattern(const char *pattern)
std::vector< AlfaLocalHits > m_paths
std::vector< AlfaLocalHit > m_hits
AlfaLocalHits * GetPathHits(int ipath)
TString GetPathPattern()
void Dump() const
const ALFA_LocRecCorrEvent * GetNearLocRecCorr() const
HepGeom::Point3D< double > m_farimpactpoint
HepGeom::Point3D< double > * GetNearImpactPoint()
AlfaLocalHit * GetNearLocalHit()
AlfaLocalHit * GetFarLocalHit()
HepGeom::Point3D< double > m_nearimpactpoint
AlfaLocalHits * m_trackcandhits
HepGeom::Point3D< double > * GetFarImpactPoint()
const ALFA_LocRecCorrEvent * GetFarLocRecCorr() const
AlfaLocalHit * m_farlocalhit
AlfaLocalHit * m_nearlocalhit
AlfaTrackCand(AlfaLocalHits *hits)
Header file for AthHistogramAlgorithm.