1 #ifndef ALIITSSURVEYTOALIGN_H
2 #define ALIITSSURVEYTOALIGN_H
3 /* Copyright(c) 2008-2010, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
8 //////////////////////////////////////////////////////////////////////////
9 // Class to convert survey tables in alignment objects
11 //////////////////////////////////////////////////////////////////////////
13 #include "AliSurveyToAlignObjs.h"
20 class AliAlignObjParams;
25 class AliITSSurveyToAlign : public AliSurveyToAlignObjs
29 AliITSSurveyToAlign(Int_t run = 0, Int_t repSDD = 845069, Int_t repVerSDD = 1, Int_t repModSSD = 887877,
30 Int_t repModVerSSD =3, Int_t repLaddSSD = 980521, Int_t repLaddVerSSD = 2);
31 AliITSSurveyToAlign(const AliITSSurveyToAlign& align); // copy constructor
32 AliITSSurveyToAlign &operator = (const AliITSSurveyToAlign& /* align */); //assignment operator
33 virtual ~AliITSSurveyToAlign();
36 Bool_t CreateAlignObjs();
37 void CreateAlignObjDummySPD();
38 void CreateAlignObjSDD();
39 void CreateAlignObjDummySDD();
40 void CreateAlignObjSSDModules();
41 void CreateAlignObjDummySSDModules();
42 void CreateAlignObjSSDLadders();
43 Bool_t ApplyAlignObjSSDLadders();
46 Int_t fRun; // the run number for the OCDB
49 Int_t fSSDModuleRepNumber;
50 Int_t fSSDModuleRepVersion;
51 Int_t fSSDLadderRepNumber;
52 Int_t fSSDLadderRepVersion;
54 Double_t fSDDmeP[6][6]; //measured positions of ref. marks for current module
55 Double_t fSDDidP[6][3]; //ideal positions of ref. marks for current module
58 static const Double_t fgkLocR[6][3]; //id. pos. of ref. marks in RS of right oriented modules
59 static const Double_t fgkLocL[6][3]; //id. pos. of ref. marks in RS of lefr oriented modules
61 void GetIdPosSDD(Int_t uid, Int_t layer, Int_t module, Int_t iPoint);
62 void ReadPointNameSDD(const char str[], Int_t &iLayer, Int_t &iLader, Int_t &iModul, Int_t &iPoint) const;
63 void ConvertToRSofModulesAndRotSDD(Int_t Layer, Int_t Module);
64 void CalcShiftSDD(Double_t &x0,Double_t &y0,Double_t &z0) const;
65 void CalcShiftRotSDD(Double_t &tet,Double_t &psi,Double_t &phi,Double_t &x0,Double_t &y0,Double_t &z0);
67 ClassDef(AliITSSurveyToAlign,0);