ATLAS Offline Software
Loading...
Searching...
No Matches
TRT_HitCollection_p5.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#ifndef INDETSIMEVENTTPCNV_TRTHITCOLLECTION_P5_H
6#define INDETSIMEVENTTPCNV_TRTHITCOLLECTION_P5_H
7
8/*
9 Author: Rob Duxfield <r.duxfield@sheffield.ac.uk> Spring 2008
10 _p3 Integer compression: <Andrew.Beddall@cern.ch> Spring 2009
11 _p4 HepMcParticleLink_p2 <Olivier.Arnaez@cern.ch> Fall 2015
12 _p5 HepMcParticleLink_p3
13 See http://cern.ch/beddall/TRThitCompression/
14*/
15
16#include <vector>
17#include <string>
18
20{
21 public:
24
25 //private:
26
27 //
28 // 1 element per string (a string resides in one straw; there may be more than one string in a straw)
29 //
30
31 std::vector<unsigned short> m_nHits; // number of hits in the string (0,1,2 ... ,hundreds).
32 std::vector<unsigned short> m_strawId2b; // straw id | 24-bit
33 std::vector<unsigned char> m_strawId1b; // straw id | integer.
34 std::vector<unsigned char> m_startR; // hit start radius (0, 2 mm) [not always stored].
35 std::vector<unsigned char> m_startPhi; // hit start phi (-pi, pi).
36 std::vector<unsigned char> m_startZ; // hit start z (-365, +365 mm), and 1-bit startRflag.
37
38 //
39 // 1 element per hit, there are typically 1 or 2 hits per string, but can be hundreds!
40 //
41
42 std::vector<unsigned short> m_kinEne; // short float, kinematic energy of the particle causing the hit.
43 std::vector<unsigned short> m_steplength; // short float, g4 step length; endZ is derived from this.
44 std::vector<unsigned char> m_endR; // hit end radius (0, 2 mm) [Not always stored].
45 std::vector<unsigned char> m_endPhi; // hit end phi (-pi, pi).
46 std::vector<unsigned short> m_meanTime; // time to center of the hit, and 1-bit idZsign and 1-bit endRflag.
47 std::vector<float> m_meanTimeof; // t >= 75 ns overflow to a float.
48
49 //
50 // much less frequent
51 //
52
53 std::vector<float> m_hitEne; // energy deposited; *only stored for photons* (m_id=22)
54 std::vector<unsigned short> m_nId;
55 std::vector<unsigned int> m_truthID;
56 std::vector<unsigned short> m_mcEvtIndex;
57 std::vector<char> m_truthSupp;
58 std::vector<unsigned short> m_nTruthID;
59 std::vector<int> m_id; // particle code.
60
61};
62
63// inlines
64
65inline
67
68#endif // INDETSIMEVENTTPCNV_TRTHITCOLLECTION_P5_H
std::vector< unsigned char > m_startPhi
std::vector< unsigned int > m_truthID
std::vector< unsigned short > m_strawId2b
std::vector< int > m_id
std::vector< unsigned short > m_mcEvtIndex
std::vector< unsigned char > m_strawId1b
std::vector< unsigned char > m_endPhi
std::vector< unsigned char > m_endR
std::vector< float > m_hitEne
std::vector< unsigned short > m_kinEne
std::vector< unsigned short > m_nTruthID
std::vector< unsigned short > m_nHits
std::vector< float > m_meanTimeof
std::vector< unsigned char > m_startR
TRT_HitCollection_p5()
Default constructor.
std::vector< char > m_truthSupp
std::vector< unsigned short > m_meanTime
std::vector< unsigned char > m_startZ
std::vector< unsigned short > m_steplength
std::vector< unsigned short > m_nId