]>
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 | ||
15 | class TClonesArray; | |
16 | class AliSurveyObj; | |
17 | class AliAlignObjParams; | |
18 | ||
19 | ||
20 | class AliITSSurveyToAlign : public AliSurveyToAlignObjs { | |
21 | ||
22 | public: | |
23 | AliITSSurveyToAlign(Int_t run = 0, Int_t repSDD = 845069, Int_t repVerSDD = 1, Int_t repModSSD = 887877, Int_t repModVerSSD =3, Int_t repLaddSSD = 980521, Int_t repLaddVerSSD = 1); | |
24 | AliITSSurveyToAlign(const AliITSSurveyToAlign& align); // copy constructor | |
25 | AliITSSurveyToAlign &operator = (const AliITSSurveyToAlign& /* align */); //assignment operator | |
26 | virtual ~AliITSSurveyToAlign(); | |
27 | ||
28 | void Run(); | |
29 | Bool_t CreateAlignObjs(); | |
30 | void CreateAlignObjDummySPD(); | |
31 | void CreateAlignObjSDD(); | |
32 | void CreateAlignObjDummySDD(); | |
33 | void CreateAlignObjSSDModules(); | |
34 | void CreateAlignObjDummySSDModules(); | |
35 | void CreateAlignObjSSDLadders(); | |
36 | Bool_t ApplyAlignObjSSDLadders(); | |
37 | ||
38 | // | |
39 | private: | |
40 | Int_t fRun; // the run number for the OCDB | |
41 | Int_t fSDDrepNumber; | |
42 | Int_t fSDDrepVersion; | |
43 | Int_t fSSDModuleRepNumber; | |
44 | Int_t fSSDModuleRepVersion; | |
45 | Int_t fSSDLadderRepNumber; | |
46 | Int_t fSSDLadderRepVersion; | |
47 | ||
48 | Double_t fSDDmeP[6][6]; //meas. pos. of ref. marks.for current module | |
49 | Double_t fSDDidP[6][3]; //ideal pos. of ref. marks for current module | |
50 | Bool_t fSDDisMe[6]; | |
51 | ||
52 | static const Double_t fgkLocR[6][3]; //id. pos. of ref. marks in RS of right oriented modules | |
53 | static const Double_t fgkLocL[6][3]; //id. pos. of ref. marks in RS of lefr oriented modules | |
54 | ||
55 | void GetIdPosSDD(Int_t uid, Int_t layer, Int_t module, Int_t iPoint); | |
56 | void ReadPointNameSDD(const char str[], Int_t &iLayer, Int_t &iLader, Int_t &iModul, Int_t &iPoint); | |
57 | void ConvertToRSofModulesAndRotSDD(Int_t Layer, Int_t Module); | |
58 | void CalcShiftSDD(Double_t &x0,Double_t &y0,Double_t &z0); | |
59 | void CalcShiftRotSDD(Double_t &tet,Double_t &psi,Double_t &phi,Double_t &x0,Double_t &y0,Double_t &z0); | |
60 | ||
61 | ClassDef(AliITSSurveyToAlign,0); | |
62 | }; | |
63 | #endif |