ATLAS Offline Software
Loading...
Searching...
No Matches
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
72typedef std::vector<LArG4H6LeakHit> LArG4H6LeakHitsCollection;
73
74#endif
std::vector< LArG4H6LeakHit > LArG4H6LeakHitsCollection
CLHEP::Hep3Vector m_pos
int operator==(const LArG4H6LeakHit &right)
double GetEtot() const
void SetEtot(double ed)
LArG4H6LeakHit & operator=(const LArG4H6LeakHit &right)
void SetPos(CLHEP::Hep3Vector p)
void AddEtot(double ed)
void AddEkin(double ed)
int GetDir() const
void SetEkin(double ed)
int GetCode() const
double GetEkin() const
void SetCode(int cod)
void SetDir(int d)
LArG4H6LeakHit()=default
CLHEP::Hep3Vector GetPos() const