]>
Commit | Line | Data |
---|---|---|
02078bdf | 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" | |
7640ec1d | 14 | #include "TString.h" |
02078bdf | 15 | |
16 | class TClonesArray; | |
98380f3e | 17 | class TGeoMatrix; |
18 | class TSystem; | |
19 | class TFile; | |
02078bdf | 20 | class AliSurveyObj; |
21 | class AliAlignObjParams; | |
98380f3e | 22 | class AliCDBStorage; |
23 | class AliCDBEntry; | |
02078bdf | 24 | |
25 | ||
98380f3e | 26 | class AliITSSurveyToAlign : public AliSurveyToAlignObjs |
27 | { | |
28 | ||
29 | public: | |
7640ec1d | 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, | |
23530ca9 | 32 | Int_t repModVerSSD =3, Int_t repLaddSSD = 980521, Int_t repLaddVerSSD = 2); |
98380f3e | 33 | AliITSSurveyToAlign(const AliITSSurveyToAlign& align); // copy constructor |
7640ec1d | 34 | AliITSSurveyToAlign &operator = (const AliITSSurveyToAlign& align); //assignment operator |
98380f3e | 35 | virtual ~AliITSSurveyToAlign(); |
36 | ||
37 | void Run(); | |
38 | Bool_t CreateAlignObjs(); | |
39 | void CreateAlignObjDummySPD(); | |
7640ec1d | 40 | |
41 | void CreateAlignObjDummySDDModules(); | |
42 | void CreateAlignObjDummySDDLadders(); | |
43 | void CreateAlignObjSDDModules(); | |
44 | void CreateAlignObjSDDLadders(); | |
45 | Bool_t ApplyAlignObjSDD(); | |
46 | ||
98380f3e | 47 | void CreateAlignObjSSDModules(); |
48 | void CreateAlignObjDummySSDModules(); | |
49 | void CreateAlignObjSSDLadders(); | |
50 | Bool_t ApplyAlignObjSSDLadders(); | |
51 | ||
52 | private: | |
a7432792 | 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. | |
98380f3e | 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 | ||
7640ec1d | 76 | |
77 | // these are tmp vars. | |
78 | //to be removed later | |
a7432792 | 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 | |
7640ec1d | 95 | |
98380f3e | 96 | ClassDef(AliITSSurveyToAlign,0); |
02078bdf | 97 | }; |
98 | #endif | |
98380f3e | 99 |