-
Notifications
You must be signed in to change notification settings - Fork 0
/
hitcoordinate.h
77 lines (68 loc) · 1.43 KB
/
hitcoordinate.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
/*************************************
* Author: M. Babai (M.Babai@rug.nl) *
* Version: *
* License: *
*************************************/
#pragma once
#ifndef HIT_COORDINATE_CLASS_H
#define HIT_COORDINATE_CLASS_H
struct HitCoordinate {
public:
/**
* Type of the stored coordinates.
*/
typedef enum Hit_Detector {
UNKNOWN = 0,
STT_TYPE = 1,
MVD_TYPE = 2,
} Hit_DetectorType;
/**
* Default Constructor
*/
HitCoordinate();
/**
* Constructor
*/
explicit HitCoordinate(float const val);
/**
* Destructor.
*/
virtual ~HitCoordinate();
/**
* Copy constructor.
*/
HitCoordinate( HitCoordinate const& ot);
/**
* Assignment operator.
*/
HitCoordinate& operator=(HitCoordinate const& ot);
// Coordinates of the current hit
float x;
float y;
float z;
// MC coordinates of the current hit
float mx;
float my;
float mz;
float m_px;
float m_py;
float m_pz;
// Polar Coordinates
float r;
double theta;
double thetaDeg;
// MC Polar Coordinates
float mr;
double mtheta;
double mthetaDeg;
// If Stt the isochrone
double isochrone;
Hit_DetectorType type;
// Detector id for now just STT, for others we should avoid
int m_detID;
int m_EvtNum;// Event number
// MC trackID. If = -1, it does not belong to any MC track
int m_trackID;
float m_timeStamp;// Time based
};
#endif