ATLAS Offline Software
TRT_HitCollection_p4.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRTHITCOLLECTION_P4_H
6 #define TRTHITCOLLECTION_P4_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  See http://cern.ch/beddall/TRThitCompression/
13 */
14 
15 #include <vector>
16 #include <string>
17 
19 {
20  public:
23 
24  //private:
25 
26  //
27  // 1 element per string (a string resides in one straw; there may be more than one string in a straw)
28  //
29 
30  std::vector<unsigned short> m_nHits; // number of hits in the string (0,1,2 ... ,hundreds).
31  std::vector<unsigned short> m_strawId2b; // straw id | 24-bit
32  std::vector<unsigned char> m_strawId1b; // straw id | integer.
33  std::vector<unsigned char> m_startR; // hit start radius (0, 2 mm) [not always stored].
34  std::vector<unsigned char> m_startPhi; // hit start phi (-pi, pi).
35  std::vector<unsigned char> m_startZ; // hit start z (-365, +365 mm), and 1-bit startRflag.
36 
37  //
38  // 1 element per hit, there are typically 1 or 2 hits per string, but can be hundreds!
39  //
40 
41  std::vector<unsigned short> m_kinEne; // short float, kinematic energy of the particle causing the hit.
42  std::vector<unsigned short> m_steplength; // short float, g4 step length; endZ is derived from this.
43  std::vector<unsigned char> m_endR; // hit end radius (0, 2 mm) [Not always stored].
44  std::vector<unsigned char> m_endPhi; // hit end phi (-pi, pi).
45  std::vector<unsigned short> m_meanTime; // time to center of the hit, and 1-bit idZsign and 1-bit endRflag.
46  std::vector<float> m_meanTimeof; // t >= 75 ns overflow to a float.
47 
48  //
49  // much less frequent
50  //
51 
52  std::vector<float> m_hitEne; // energy deposited; *only stored for photons* (m_id=22)
53  std::vector<unsigned short> m_nId;
54  std::vector<unsigned int> m_barcode;
55  std::vector<unsigned short> m_mcEvtIndex;
56  std::vector<char> m_evtColl;
57  std::vector<unsigned short> m_nBC;
58  std::vector<int> m_id; // particle code.
59 
60 };
61 
62 // inlines
63 
64 inline
66 
67 #endif
TRT_HitCollection_p4::m_startZ
std::vector< unsigned char > m_startZ
Definition: TRT_HitCollection_p4.h:35
TRT_HitCollection_p4::m_endPhi
std::vector< unsigned char > m_endPhi
Definition: TRT_HitCollection_p4.h:44
TRT_HitCollection_p4::m_kinEne
std::vector< unsigned short > m_kinEne
Definition: TRT_HitCollection_p4.h:41
TRT_HitCollection_p4::m_nId
std::vector< unsigned short > m_nId
Definition: TRT_HitCollection_p4.h:53
TRT_HitCollection_p4::m_nBC
std::vector< unsigned short > m_nBC
Definition: TRT_HitCollection_p4.h:57
TRT_HitCollection_p4
Definition: TRT_HitCollection_p4.h:19
TRT_HitCollection_p4::m_startR
std::vector< unsigned char > m_startR
Definition: TRT_HitCollection_p4.h:33
TRT_HitCollection_p4::TRT_HitCollection_p4
TRT_HitCollection_p4()
Default constructor.
Definition: TRT_HitCollection_p4.h:65
TRT_HitCollection_p4::m_strawId2b
std::vector< unsigned short > m_strawId2b
Definition: TRT_HitCollection_p4.h:31
TRT_HitCollection_p4::m_mcEvtIndex
std::vector< unsigned short > m_mcEvtIndex
Definition: TRT_HitCollection_p4.h:55
TRT_HitCollection_p4::m_strawId1b
std::vector< unsigned char > m_strawId1b
Definition: TRT_HitCollection_p4.h:32
TRT_HitCollection_p4::m_meanTime
std::vector< unsigned short > m_meanTime
Definition: TRT_HitCollection_p4.h:45
TRT_HitCollection_p4::m_nHits
std::vector< unsigned short > m_nHits
Definition: TRT_HitCollection_p4.h:30
TRT_HitCollection_p4::m_hitEne
std::vector< float > m_hitEne
Definition: TRT_HitCollection_p4.h:52
TRT_HitCollection_p4::m_evtColl
std::vector< char > m_evtColl
Definition: TRT_HitCollection_p4.h:56
TRT_HitCollection_p4::m_steplength
std::vector< unsigned short > m_steplength
Definition: TRT_HitCollection_p4.h:42
TRT_HitCollection_p4::m_endR
std::vector< unsigned char > m_endR
Definition: TRT_HitCollection_p4.h:43
TRT_HitCollection_p4::m_barcode
std::vector< unsigned int > m_barcode
Definition: TRT_HitCollection_p4.h:54
TRT_HitCollection_p4::m_id
std::vector< int > m_id
Definition: TRT_HitCollection_p4.h:58
TRT_HitCollection_p4::m_meanTimeof
std::vector< float > m_meanTimeof
Definition: TRT_HitCollection_p4.h:46
TRT_HitCollection_p4::m_startPhi
std::vector< unsigned char > m_startPhi
Definition: TRT_HitCollection_p4.h:34