]>
Commit | Line | Data |
---|---|---|
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 */ | |
5 | ||
6 | /* $Id$ */ | |
7 | ||
8 | ////////////////////////////////////////////////////////////////////////// | |
9 | // Class to convert survey tables in alignment objects | |
10 | // for SSD and SDD | |
11 | ////////////////////////////////////////////////////////////////////////// | |
12 | ||
13 | #include "AliSurveyToAlignObjs.h" | |
14 | #include "TString.h" | |
15 | ||
16 | class TClonesArray; | |
17 | class TGeoMatrix; | |
18 | class TSystem; | |
19 | class TFile; | |
20 | class AliSurveyObj; | |
21 | class AliAlignObjParams; | |
22 | class AliCDBStorage; | |
23 | class AliCDBEntry; | |
24 | ||
25 | ||
26 | class AliITSSurveyToAlign : public AliSurveyToAlignObjs | |
27 | { | |
28 | ||
29 | public: | |
30 | AliITSSurveyToAlign(Int_t run = 0, Int_t repModSDD = 845069, Int_t repModVerSDD = 1, | |
31 | Int_t repLadSDD = 999999, Int_t repLadVerSDD = 1, Int_t repModSSD = 887877, | |
32 | Int_t repModVerSSD =3, Int_t repLaddSSD = 980521, Int_t repLaddVerSSD = 2); | |
33 | AliITSSurveyToAlign(const AliITSSurveyToAlign& align); // copy constructor | |
34 | AliITSSurveyToAlign &operator = (const AliITSSurveyToAlign& align); //assignment operator | |
35 | virtual ~AliITSSurveyToAlign(); | |
36 | ||
37 | void Run(); | |
38 | Bool_t CreateAlignObjs(); | |
39 | void CreateAlignObjDummySPD(); | |
40 | ||
41 | void CreateAlignObjDummySDDModules(); | |
42 | void CreateAlignObjDummySDDLadders(); | |
43 | void CreateAlignObjSDDModules(); | |
44 | void CreateAlignObjSDDLadders(); | |
45 | Bool_t ApplyAlignObjSDD(); | |
46 | ||
47 | void CreateAlignObjSSDModules(); | |
48 | void CreateAlignObjDummySSDModules(); | |
49 | void CreateAlignObjSSDLadders(); | |
50 | Bool_t ApplyAlignObjSSDLadders(); | |
51 | ||
52 | private: | |
53 | Int_t fRun; // the run number for the OCDB | |
54 | Int_t fSDDModuleRepNumber; // SDD Module survey report number (EDMS) | |
55 | Int_t fSDDModuleRepVersion; // SDD Module survey report version (det DB) | |
56 | Int_t fSDDLadderRepNumber; // SDD Ladder survey report number (EDMS) | |
57 | Int_t fSDDLadderRepVersion; // SDD Ladder survey report version (det DB) | |
58 | Int_t fSSDModuleRepNumber; // SSD Module survey report number (EDMS) | |
59 | Int_t fSSDModuleRepVersion; // SSD Module survey report version (det DB) | |
60 | Int_t fSSDLadderRepNumber; // SSD Ladder survey report number (EDMS) | |
61 | Int_t fSSDLadderRepVersion; // SSD Ladder survey report version (det DB) | |
62 | ||
63 | Double_t fSDDmeP[6][6]; //measured positions of ref. marks for current module | |
64 | Double_t fSDDidP[6][3]; //ideal positions of ref. marks for current module | |
65 | Bool_t fSDDisMe[6]; //flag indicating if the positions of ref. mark is measured. | |
66 | ||
67 | static const Double_t fgkLocR[6][3]; //id. pos. of ref. marks in RS of right oriented modules | |
68 | static const Double_t fgkLocL[6][3]; //id. pos. of ref. marks in RS of lefr oriented modules | |
69 | ||
70 | void GetIdPosSDD(Int_t uid, Int_t layer, Int_t module, Int_t iPoint); | |
71 | void ReadPointNameSDD(const char str[], Int_t &iLayer, Int_t &iLader, Int_t &iModul, Int_t &iPoint) const; | |
72 | void ConvertToRSofModulesAndRotSDD(Int_t Layer, Int_t Module); | |
73 | void CalcShiftSDD(Double_t &x0,Double_t &y0,Double_t &z0) const; | |
74 | void CalcShiftRotSDD(Double_t &tet,Double_t &psi,Double_t &phi,Double_t &x0,Double_t &y0,Double_t &z0); | |
75 | ||
76 | ||
77 | // these are tmp vars. | |
78 | //to be removed later | |
79 | Int_t fuidSDDm[260]; //uid of SDD module | |
80 | TString fsymnameSDDm[260]; //symname of SDD module | |
81 | Double_t fxSDDm[260]; //x-shift of SDD module | |
82 | Double_t fySDDm[260]; //y-shift of SDD module | |
83 | Double_t fzSDDm[260]; //z-shift of SDD module | |
84 | Double_t fpsiSDDm[260]; //psi of SDD module | |
85 | Double_t ftetSDDm[260]; //tet of SDD module | |
86 | Double_t fphiSDDm[260]; //phi of SDD module | |
87 | Int_t fuidSDDl[36]; //uid of SDD ladder | |
88 | TString fsymnameSDDl[36]; //symname of SDD ladder | |
89 | Double_t fxSDDl[36]; //x-shift of SDD ladder | |
90 | Double_t fySDDl[36]; //y-shift of SDD ladder | |
91 | Double_t fzSDDl[36]; //z-shift of SDD ladder | |
92 | Double_t fpsiSDDl[36]; //psi of SDD ladder | |
93 | Double_t ftetSDDl[36]; //phi of SDD ladder | |
94 | Double_t fphiSDDl[36]; //phi of SDD ladder | |
95 | ||
96 | ClassDef(AliITSSurveyToAlign,0); | |
97 | }; | |
98 | #endif | |
99 |