Moving required CMake version from 2.8.4 to 2.8.8
[u/mrichter/AliRoot.git] / ITS / AliITSSurveyToAlign.h
CommitLineData
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
16class TClonesArray;
98380f3e 17class TGeoMatrix;
18class TSystem;
19class TFile;
02078bdf 20class AliSurveyObj;
21class AliAlignObjParams;
98380f3e 22class AliCDBStorage;
23class AliCDBEntry;
02078bdf 24
25
98380f3e 26class AliITSSurveyToAlign : public AliSurveyToAlignObjs
27{
28
29public:
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
52private:
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