]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSSurveyToAlign.h
Possibility to select the injector lines to be used in drift speed calculation (F...
[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:
53 Int_t fRun; // the run number for the OCDB
7640ec1d 54 Int_t fSDDModuleRepNumber;
55 Int_t fSDDModuleRepVersion;
56 Int_t fSDDLadderRepNumber;
57 Int_t fSDDLadderRepVersion;
98380f3e 58 Int_t fSSDModuleRepNumber;
59 Int_t fSSDModuleRepVersion;
60 Int_t fSSDLadderRepNumber;
61 Int_t fSSDLadderRepVersion;
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];
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
79 Int_t fuidSDDm[260];
80 TString fsymnameSDDm[260];
81 Double_t fxSDDm[260];
82 Double_t fySDDm[260];
83 Double_t fzSDDm[260];
84 Double_t fpsiSDDm[260];
85 Double_t ftetSDDm[260];
86 Double_t fphiSDDm[260];
87 Int_t fuidSDDl[36];
88 TString fsymnameSDDl[36];
89 Double_t fxSDDl[36];
90 Double_t fySDDl[36];
91 Double_t fzSDDl[36];
92 Double_t fpsiSDDl[36];
93 Double_t ftetSDDl[36];
94 Double_t fphiSDDl[36];
95
98380f3e 96 ClassDef(AliITSSurveyToAlign,0);
02078bdf 97};
98#endif
98380f3e 99