Line data Source code
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 118 : ClassDef(AliITSSurveyToAlign,0);
97 : };
98 : #endif
99 :
|