ATLAS Offline Software
LArG4H6LeakHit.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 // LArG4H6LeakHit 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 directionx
13 //=================================================
14 
15 #ifndef LArG4H6LeakHit_h
16 #define LArG4H6LeakHit_h 1
17 
18 #include "CLHEP/Vector/ThreeVector.h"
19 #include <vector>
21 {
22  public:
23  LArG4H6LeakHit() = default;
24  LArG4H6LeakHit(int d){m_dir = d;};
25  LArG4H6LeakHit(int dir, int pcode, float ekin, float etot);
26  LArG4H6LeakHit(const LArG4H6LeakHit &right);
27 
29  int operator==(const LArG4H6LeakHit &right);
30 
31 //Set- Get- methods
32  // energy deposit
33  inline void SetEkin(double ed) { m_ekin = ed; }
34  inline void AddEkin(double ed) { m_ekin += ed; }
35  inline double GetEkin() const { return m_ekin; }
36  inline void SetEtot(double ed) { m_etot = ed; }
37  inline void AddEtot(double ed) { m_etot += ed; }
38  inline double GetEtot() const { return m_etot; }
39 
40  // particle code
41  inline void SetCode(int cod) { m_pcode = cod; }
42  inline int GetCode() const { return m_pcode; }
43 
44  // position
45  inline void SetPos(CLHEP::Hep3Vector p) { m_pos = p; }
46  inline CLHEP::Hep3Vector GetPos() const { return m_pos; }
47 
48  // leakage direction
49  inline void SetDir(int d) { m_dir = d; }
50  inline int GetDir() const { return m_dir; }
51 
52  private:
53  double m_ekin{0}; // kinetic energy of stopped particle
54  double m_etot{0}; // total energy -"-
55  int m_pcode{0}; // particle code, special codes for: deuterium 9001
56  // tritium 9002
57  // alpha 9003
58  // He3 9004
59  CLHEP::Hep3Vector m_pos; // absolute position of hit
60  int m_dir{0}; // leakage direction encoding
61  // 1,2 EMEC x<0, x>0
62  // 3 EMEC down
63  // 4,5 EMEC back -"-
64  // 6,7 HEC1 -"-
65  // 8 HEC1 down
66  // 9,10 HEC1 back -"-
67  // 11,12 HEC2 -"-
68  // 13 HEC2 down
69  // 14 HEC2 back
70 };
71 
72 typedef std::vector<LArG4H6LeakHit> LArG4H6LeakHitsCollection;
73 
74 #endif
LArG4H6LeakHit::m_dir
int m_dir
Definition: LArG4H6LeakHit.h:60
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
LArG4H6LeakHit::AddEkin
void AddEkin(double ed)
Definition: LArG4H6LeakHit.h:34
LArG4H6LeakHit::operator=
LArG4H6LeakHit & operator=(const LArG4H6LeakHit &right)
Definition: LArG4H6LeakHit.cxx:24
LArG4H6LeakHit::GetPos
CLHEP::Hep3Vector GetPos() const
Definition: LArG4H6LeakHit.h:46
hist_file_dump.d
d
Definition: hist_file_dump.py:137
LArG4H6LeakHit::m_pcode
int m_pcode
Definition: LArG4H6LeakHit.h:55
LArG4H6LeakHit::m_pos
CLHEP::Hep3Vector m_pos
Definition: LArG4H6LeakHit.h:59
LArG4H6LeakHit::GetDir
int GetDir() const
Definition: LArG4H6LeakHit.h:50
LArG4H6LeakHit::GetEtot
double GetEtot() const
Definition: LArG4H6LeakHit.h:38
LArG4H6LeakHit::SetPos
void SetPos(CLHEP::Hep3Vector p)
Definition: LArG4H6LeakHit.h:45
LArG4H6LeakHit::m_ekin
double m_ekin
Definition: LArG4H6LeakHit.h:53
LArG4H6LeakHit
Definition: LArG4H6LeakHit.h:21
LArG4H6LeakHit::SetEtot
void SetEtot(double ed)
Definition: LArG4H6LeakHit.h:36
LArG4H6LeakHit::LArG4H6LeakHit
LArG4H6LeakHit()=default
LArG4H6LeakHit::SetEkin
void SetEkin(double ed)
Definition: LArG4H6LeakHit.h:33
LArG4H6LeakHitsCollection
std::vector< LArG4H6LeakHit > LArG4H6LeakHitsCollection
Definition: LArG4H6LeakHit.h:72
LArG4H6LeakHit::SetCode
void SetCode(int cod)
Definition: LArG4H6LeakHit.h:41
LArG4H6LeakHit::m_etot
double m_etot
Definition: LArG4H6LeakHit.h:54
beamspotman.dir
string dir
Definition: beamspotman.py:623
LArG4H6LeakHit::GetCode
int GetCode() const
Definition: LArG4H6LeakHit.h:42
LArG4H6LeakHit::GetEkin
double GetEkin() const
Definition: LArG4H6LeakHit.h:35
LArG4H6LeakHit::LArG4H6LeakHit
LArG4H6LeakHit(int d)
Definition: LArG4H6LeakHit.h:24
LArG4H6LeakHit::AddEtot
void AddEtot(double ed)
Definition: LArG4H6LeakHit.h:37
LArG4H6LeakHit::SetDir
void SetDir(int d)
Definition: LArG4H6LeakHit.h:49
LArG4H6LeakHit::operator==
int operator==(const LArG4H6LeakHit &right)
Definition: LArG4H6LeakHit.cxx:35