File tree 4 files changed +16
-51
lines changed
DataFormats/TrackingRecHit
4 files changed +16
-51
lines changed Original file line number Diff line number Diff line change @@ -39,11 +39,9 @@ class RecHit1D : public TrackingRecHit {
39
39
40
40
// /Return the projection matrix
41
41
virtual AlgebraicMatrix projectionMatrix () const {
42
- if ( !isInitialized) initialize ();
43
42
return theProjectionMatrix;
44
43
}
45
44
46
-
47
45
// / Return the RecHit dimension
48
46
virtual int dimension () const {
49
47
return 1 ;
@@ -59,17 +57,6 @@ class RecHit1D : public TrackingRecHit {
59
57
60
58
61
59
private:
62
-
63
- static bool isInitialized;
64
-
65
- static AlgebraicMatrix theProjectionMatrix;
66
-
67
- void initialize () const ;
68
-
60
+ static const AlgebraicMatrix theProjectionMatrix;
69
61
};
70
62
#endif
71
-
72
-
73
-
74
-
75
-
Original file line number Diff line number Diff line change @@ -22,7 +22,6 @@ class RecHit2DLocalPos : public TrackingRecHit {
22
22
virtual AlgebraicSymMatrix parametersError () const ;
23
23
24
24
virtual AlgebraicMatrix projectionMatrix () const {
25
- if ( !isInitialized) initialize ();
26
25
return theProjectionMatrix;
27
26
}
28
27
@@ -38,12 +37,7 @@ class RecHit2DLocalPos : public TrackingRecHit {
38
37
39
38
private:
40
39
41
- static bool isInitialized;
42
-
43
- static AlgebraicMatrix theProjectionMatrix;
44
-
45
- void initialize () const ;
46
-
40
+ static const AlgebraicMatrix theProjectionMatrix;
47
41
};
48
42
49
43
#endif
Original file line number Diff line number Diff line change @@ -38,21 +38,11 @@ AlgebraicSymMatrix RecHit1D::parametersError() const {
38
38
return m;
39
39
}
40
40
41
-
42
-
43
- // Initialize the projection matrix
44
- void RecHit1D::initialize () const {
45
- theProjectionMatrix = AlgebraicMatrix ( 1 , 5 , 0 );
46
- theProjectionMatrix[0 ][3 ] = 1 ;
47
-
48
- isInitialized = true ;
41
+ // Return an initialized matrix.
42
+ static const AlgebraicMatrix initializeMatrix () {
43
+ AlgebraicMatrix matrix ( 1 , 5 , 0 );
44
+ matrix[0 ][3 ] = 1 ;
45
+ return matrix;
49
46
}
50
47
51
-
52
-
53
- bool RecHit1D::isInitialized (false );
54
-
55
-
56
-
57
- AlgebraicMatrix RecHit1D::theProjectionMatrix;
58
-
48
+ const AlgebraicMatrix RecHit1D::theProjectionMatrix (initializeMatrix());
Original file line number Diff line number Diff line change 1
1
#include " DataFormats/TrackingRecHit/interface/RecHit2DLocalPos.h"
2
2
3
- void RecHit2DLocalPos::initialize () const
4
- {
5
- theProjectionMatrix = AlgebraicMatrix ( 2 , 5 , 0 );
6
- theProjectionMatrix[0 ][3 ] = 1 ;
7
- theProjectionMatrix[1 ][4 ] = 1 ;
8
-
9
- isInitialized = true ;
10
- }
11
-
12
3
AlgebraicVector RecHit2DLocalPos::parameters () const
13
4
{
14
5
AlgebraicVector result (2 );
@@ -38,9 +29,12 @@ std::vector<TrackingRecHit*> RecHit2DLocalPos::recHits() {
38
29
return nullvector;
39
30
}
40
31
41
-
42
-
43
32
// static member definition
44
-
45
- bool RecHit2DLocalPos::isInitialized ( false );
46
- AlgebraicMatrix RecHit2DLocalPos::theProjectionMatrix;
33
+ static const AlgebraicMatrix initializeMatrix ()
34
+ {
35
+ AlgebraicMatrix aMatrix ( 2 , 5 , 0 );
36
+ aMatrix[0 ][3 ] = 1 ;
37
+ aMatrix[1 ][4 ] = 1 ;
38
+ return aMatrix;
39
+ }
40
+ const AlgebraicMatrix RecHit2DLocalPos::theProjectionMatrix{initializeMatrix ()};
You can’t perform that action at this time.
0 commit comments