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