CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DTSurveyChamber.h
Go to the documentation of this file.
1 
12 #ifndef Alignment_SurveyAnalysis_DTSurveyChamber_H
13 #define Alignment_SurveyAnalysis_DTSurveyChamber_H
14 
15 #include <vector>
16 
17 #include "TMath.h"
18 #include "TMatrixD.h"
19 
21 
22 
23  public:
24 
25  DTSurveyChamber(int, int, int, long);
26 
27 
28  //Add a point to the Chamber
29  void addPoint(int, const TMatrixD&, const TMatrixD&, const TMatrixD&);
30 
31  //Begin the chi2 computation
32  int getNumberPoints() const { return pointNumber; }
33  void compute();
34  void printChamberInfo();
35  long getId() const {return rawId;}
36  float getDeltaX() const {return Solution(0,0);}
37  float getDeltaY() const {return Solution(1,0);}
38  float getDeltaZ() const {return Solution(2,0);}
39  //My definition of the matrix rotation is not the same as the used in CMSSW
40  float getAlpha() const {return Solution(5,0);}
41  float getBeta() const {return -1.0*Solution(4,0);}
42  float getGamma() const {return Solution(3,0);}
43  float getDeltaXError() const {return TMath::Sqrt(Covariance(0,0));}
44  float getDeltaYError() const {return TMath::Sqrt(Covariance(1,1));}
45  float getDeltaZError() const {return TMath::Sqrt(Covariance(2,2));}
46  float getAlphaError() const {return TMath::Sqrt(Covariance(5,5));}
47  float getBetaError() const {return TMath::Sqrt(Covariance(4,4));}
48  float getGammaError() const {return TMath::Sqrt(Covariance(3,3));}
49 
50 
51  private:
52 
53 // static const unsigned int MAX_PUNTOS = 16;
54 
55  TMatrixD & makeMatrix();
56  TMatrixD & makeErrors();
57  TMatrixD & makeVector();
58 
59 
60  //Identifiers
62 
63  long rawId;
64 
65 
66  //Points data
67  std::vector<TMatrixD> points;
68  std::vector<TMatrixD> pointsDiff;
69  std::vector<TMatrixD> pointsError;
70  std::vector<TMatrixD> pointsTheoretical;
71 
72  TMatrixD Solution;
73  TMatrixD Covariance;
74 
75  //Number of points
77 
78 };
79 
80 std::ostream & operator<<(std::ostream &, const DTSurveyChamber&);
81 
82 
83 
84 #endif
DTSurveyChamber(int, int, int, long)
std::vector< TMatrixD > points
float getDeltaZError() const
float getDeltaYError() const
long getId() const
std::vector< TMatrixD > pointsError
int getNumberPoints() const
std::ostream & operator<<(std::ostream &out, const ALILine &li)
Definition: ALILine.cc:187
float getDeltaXError() const
std::vector< TMatrixD > pointsTheoretical
float getDeltaZ() const
float getBeta() const
void addPoint(int, const TMatrixD &, const TMatrixD &, const TMatrixD &)
float getAlphaError() const
float getGammaError() const
float getDeltaX() const
float getAlpha() const
float getGamma() const
float getDeltaY() const
float getBetaError() const
TMatrixD & makeVector()
std::vector< TMatrixD > pointsDiff
TMatrixD & makeMatrix()
void printChamberInfo()
TMatrixD & makeErrors()