ATLAS Offline Software
LArTBLeakHit.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 //=================================================
6 // LArTBLeakHit class
7 //
8 // information stored
9 // - energy deposition in the leakege detector
10 // - hit position
11 // - store the particle types, kinetic and total energies
12 // - leakage direction
13 //=================================================
14 
15 #ifndef LArTBLeakHit_h
16 #define LArTBLeakHit_h 1
17 #include "CLHEP/Vector/ThreeVector.h"
18 #include <vector>
20 {
21  public:
22  LArTBLeakHit() = default;
23  LArTBLeakHit(int d) : m_dir(d) {};
24 
25 //Set- Get- methods
26  // energy deposit
27  inline void SetEkin(double ed) { m_ekin = ed; }
28  inline void AddEkin(double ed) { m_ekin += ed; }
29  inline double GetEkin() { return m_ekin; }
30  inline void SetEtot(double ed) { m_etot = ed; }
31  inline void AddEtot(double ed) { m_etot += ed; }
32  inline double GetEtot() { return m_etot; }
33 
34  // particle code
35  inline void SetCode(int cod) { m_pcode = cod; }
36  inline int GetCode() { return m_pcode; }
37 
38  // position
39  inline void SetPos(const CLHEP::Hep3Vector& p) { m_pos = p; }
40  inline CLHEP::Hep3Vector GetPos() { return m_pos; }
41 
42  // leakage direction
43  inline void SetDir(int d) { m_dir = d; }
44  inline int GetDir() { return m_dir; }
45 
46  private:
47  double m_ekin{}; // kinetic energy of stopped particle
48  double m_etot{}; // total energy -"-
49  int m_pcode{}; // particle code, special codes for: deuterium 9001
50  // tritium 9002
51  // alpha 9003
52  // He3 9004
53  CLHEP::Hep3Vector m_pos; // absolute position of hit
54  int m_dir{}; // leakage direction encoding
55  // 1,2 EMEC x<0, x>0
56  // 3 EMEC down
57  // 4,5 EMEC back -"-
58  // 6,7 HEC1 -"-
59  // 8 HEC1 down
60  // 9,10 HEC1 back -"-
61  // 11,12 HEC2 -"-
62  // 13 HEC2 down
63  // 14 HEC2 back
64 };
65 
66 typedef std::vector<LArTBLeakHit> LArTBLeakHitsCollection;
67 
68 #endif
LArTBLeakHit::AddEtot
void AddEtot(double ed)
Definition: LArTBLeakHit.h:31
LArTBLeakHit
Definition: LArTBLeakHit.h:20
LArTBLeakHit::GetPos
CLHEP::Hep3Vector GetPos()
Definition: LArTBLeakHit.h:40
LArTBLeakHit::SetPos
void SetPos(const CLHEP::Hep3Vector &p)
Definition: LArTBLeakHit.h:39
LArTBLeakHit::SetEtot
void SetEtot(double ed)
Definition: LArTBLeakHit.h:30
hist_file_dump.d
d
Definition: hist_file_dump.py:137
LArTBLeakHit::SetEkin
void SetEkin(double ed)
Definition: LArTBLeakHit.h:27
LArTBLeakHit::LArTBLeakHit
LArTBLeakHit(int d)
Definition: LArTBLeakHit.h:23
LArTBLeakHit::LArTBLeakHit
LArTBLeakHit()=default
LArTBLeakHit::AddEkin
void AddEkin(double ed)
Definition: LArTBLeakHit.h:28
LArTBLeakHit::SetCode
void SetCode(int cod)
Definition: LArTBLeakHit.h:35
LArTBLeakHit::m_ekin
double m_ekin
Definition: LArTBLeakHit.h:47
LArTBLeakHit::GetEkin
double GetEkin()
Definition: LArTBLeakHit.h:29
LArTBLeakHit::m_pcode
int m_pcode
Definition: LArTBLeakHit.h:49
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
LArTBLeakHit::GetEtot
double GetEtot()
Definition: LArTBLeakHit.h:32
LArTBLeakHit::SetDir
void SetDir(int d)
Definition: LArTBLeakHit.h:43
LArTBLeakHit::GetCode
int GetCode()
Definition: LArTBLeakHit.h:36
LArTBLeakHit::GetDir
int GetDir()
Definition: LArTBLeakHit.h:44
LArTBLeakHit::m_dir
int m_dir
Definition: LArTBLeakHit.h:54
LArTBLeakHit::m_etot
double m_etot
Definition: LArTBLeakHit.h:48
LArTBLeakHit::m_pos
CLHEP::Hep3Vector m_pos
Definition: LArTBLeakHit.h:53
LArTBLeakHitsCollection
std::vector< LArTBLeakHit > LArTBLeakHitsCollection
Definition: LArTBLeakHit.h:66