00001 00014 #ifndef Alignment_SurveyAnalysis_DTSurvey_H 00015 #define Alignment_SurveyAnalysis_DTSurvey_H 00016 00017 #include "TMatrixD.h" 00018 00019 class DTGeometry; 00020 class DTSurveyChamber; 00021 00022 namespace edm { template<class> class ESHandle; } 00023 00024 class DTSurvey { 00025 00026 00027 public: 00028 DTSurvey(const std::string&, const std::string&, int); 00029 ~DTSurvey(); 00030 00031 void ReadChambers(edm::ESHandle<DTGeometry>); 00032 void CalculateChambers(); 00033 00034 const DTSurveyChamber * getChamber(int, int) const; 00035 00036 int getId() const { return id; } 00037 00038 //void ToDB(MuonAlignment *); 00039 00040 private: 00041 void FillWheelInfo(); 00042 00043 std::string nameOfWheelInfoFile, nameOfChamberInfoFile; 00044 int id; 00045 00046 //This is the displacement (vector) and rotation (matrix) for the wheel 00047 float OffsetZ; 00048 TMatrixD delta; 00049 TMatrixD Rot; 00050 00051 DTSurveyChamber ***chambers; 00052 00053 }; 00054 00055 00056 std::ostream &operator<<(std::ostream &, const DTSurvey&); 00057 00058 #endif