Most of these updates are related to the offline software needed for the pixel trigge...
[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"
14
15class TClonesArray;
16class AliSurveyObj;
17class AliAlignObjParams;
18
19
20class AliITSSurveyToAlign : public AliSurveyToAlignObjs {
21
22 public:
2afbf330 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
02078bdf 26 virtual ~AliITSSurveyToAlign();
27
2afbf330 28 void Run();
29 Bool_t CreateAlignObjs();
30 void CreateAlignObjDummySPD();
02078bdf 31 void CreateAlignObjSDD();
32 void CreateAlignObjDummySDD();
33 void CreateAlignObjSSDModules();
34 void CreateAlignObjDummySSDModules();
35 void CreateAlignObjSSDLadders();
2afbf330 36 Bool_t ApplyAlignObjSSDLadders();
02078bdf 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