ATLAS Offline Software
Loading...
Searching...
No Matches
TrackTraits.h
Go to the documentation of this file.
1// emacs: this is -*- c++ -*-
13
14#ifndef TRACKTRAITS_H
15#define TRACKTRAITS_H
16
17#include <cstdint>
18#include <cmath>
19#include <vector>
20#include <stdexcept>
21
27
28
32
33
37
42
43
44
45
46template<typename T>
48
49 static float pt(const T& t) { return t.pt(); }
50 static float eta(const T& t) { return t.eta(); }
51 static float theta(const T& ) { return 0; }
52 static float phi(const T& t) { return t.phi(); }
53 static float z0(const T& ) { return 0; }
54 static float d0(const T& ) { return 0; }
55 static float qOverP(const T& ) { return 0; }
56 static float p(const T& ) { return 0; }
57
58 static float m(const T& ) { return 0; }
59
60
61 static float E(const T& ) { return 0; } // t.e(); }
62 static float ET(const T& ) { return 0; }
63
64 static float dphi(const T& ) { return 0; }
65 static float dtheta(const T& ) { return 0; }
66 static float dqOverP(const T& ) { return 0; }
67
68 static float deta(const T& ) { return 0; }
69
70 static float dz0(const T& ) { return 0; }
71 static float dd0(const T& ) { return 0; }
72
73 static float dpt(const T& ) { return 0; }
74
75 static float covthetaOvP(const T& ) { return 0; }
76
77 static unsigned author(const T& ) { return 0; }
78
79 static float chi2(const T& ) { return 0; }
80 static float ndof(const T& ) { return 0; }
81
82 static uint8_t hasValidTime(const T& ) { return 0; }
83 static float time(const T& ) { return 0; }
84
85 // do we want these ? perhaps we will need them ...
86 // static float pTsig(const T& ) { return 0; }
87 // static float z0SinTheta(const T& ) { return 0; }
88
89 static int nPixels( const T& ) { return 0; }
90 static int nPixelsShared( const T& ) { return 0; }
91 static int nPixelHoles( const T& ) { return 0; }
92
93 static int nPixelsInner( const T& ) { return 0; }
94 static int nPixelsInnerEndcap( const T& ) { return 0; }
95
96 static int nPixelsInnerShared( const T& ) { return 0; }
97 static int nPixelsInnerSharedEndcap( const T& ) { return 0; }
98
99 static int nPixelsBlayer( const T& ) { return 0; }
100 static int nPixelsBlayerEndcap( const T& ) { return 0; }
101
102 static int nSCT( const T& ) { return 0; }
103 static int nSCTShared( const T& ) { return 0; }
104 static int nSCTHoles( const T& ) { return 0; }
105
106 static int nSi( const T& ) { return 0; }
107 static int nSiHoles( const T& ) { return 0; }
108
109 static int nTRT( const T& ) { return 0; }
110 static int nTRTHi( const T& ) { return 0; }
111
112
117 template<typename U>
118 static void addChildren( const T& , std::vector<U>& ) { }
119
120};
121
122template<typename T>
123struct TrackTraits : public TrackTraitsBase<T> { };
124
125template<typename T>
126struct TrackTraits<const T> : TrackTraits<T> { };
127
128
129
130#endif // TRACKTRAITS_H
131
132
133
134
135
136
137
raw track traits - use for the TrackParticle by default, specialise for anything else,...
Definition TrackTraits.h:47
static int nPixelsShared(const T &)
Definition TrackTraits.h:90
static float ET(const T &)
Definition TrackTraits.h:62
static int nSi(const T &)
static uint8_t hasValidTime(const T &)
Definition TrackTraits.h:82
static int nSCTShared(const T &)
static void addChildren(const T &, std::vector< U > &)
parent EDM functionality for classes with children - the class U, being used for the children has to ...
static float z0(const T &)
Definition TrackTraits.h:53
static int nPixels(const T &)
Definition TrackTraits.h:89
static float eta(const T &t)
Definition TrackTraits.h:50
static float deta(const T &)
Definition TrackTraits.h:68
static int nPixelHoles(const T &)
Definition TrackTraits.h:91
static int nPixelsInnerEndcap(const T &)
Definition TrackTraits.h:94
static float phi(const T &t)
Definition TrackTraits.h:52
static float d0(const T &)
Definition TrackTraits.h:54
static float m(const T &)
Definition TrackTraits.h:58
static float theta(const T &)
Definition TrackTraits.h:51
static int nSCT(const T &)
static float pt(const T &t)
Definition TrackTraits.h:49
static float time(const T &)
Definition TrackTraits.h:83
static int nPixelsBlayer(const T &)
Definition TrackTraits.h:99
static float chi2(const T &)
Definition TrackTraits.h:79
static float E(const T &)
Definition TrackTraits.h:61
static int nTRTHi(const T &)
static float dqOverP(const T &)
Definition TrackTraits.h:66
static int nSCTHoles(const T &)
static int nTRT(const T &)
static unsigned author(const T &)
Definition TrackTraits.h:77
static int nSiHoles(const T &)
static float p(const T &)
Definition TrackTraits.h:56
static float dphi(const T &)
Definition TrackTraits.h:64
static int nPixelsInner(const T &)
Definition TrackTraits.h:93
static int nPixelsInnerShared(const T &)
Definition TrackTraits.h:96
static int nPixelsBlayerEndcap(const T &)
static float dz0(const T &)
Definition TrackTraits.h:70
static float dpt(const T &)
Definition TrackTraits.h:73
static int nPixelsInnerSharedEndcap(const T &)
Definition TrackTraits.h:97
static float ndof(const T &)
Definition TrackTraits.h:80
static float dd0(const T &)
Definition TrackTraits.h:71
static float qOverP(const T &)
Definition TrackTraits.h:55
static float dtheta(const T &)
Definition TrackTraits.h:65
static float covthetaOvP(const T &)
Definition TrackTraits.h:75