1 #ifndef ALIITSALIGNMENTMODULE_H
2 #define ALIITSALIGNMENTMODULE_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
13 Revision 1.1.2.2 2000/03/04 23:39:56 nilsen
16 Revision 1.1.2.1 2000/03/02 20:12:57 nilsen
17 A new class useful for ITS detector Alignment studdies
21 // Standard C & C++ libraries
24 // Standard Root Libraries
25 #include "TParticle.h"
28 #include "AliITSgeom.h"
30 class AliITSAlignmentModule : public TObject{
31 ///////////////////////////////////////////////////////////////////////////
32 // A track class define exclusively for the use in doing ITS detector
33 // alignment studdies. Not intended for general use.
34 // Author: B. S. Nilsen
35 // Date: January 17 2000
36 ///////////////////////////////////////////////////////////////////////////
40 Int_t findex,flay,flad,fdet;
43 Double_t fx0[3],fM[3][3],fangles[3];
47 AliITSAlignmentModule();
48 AliITSAlignmentModule(Int_t index,AliITSgeom *gm,
49 Int_t ntrk,AliITSAlignmentTrack *trk);
50 virtual ~AliITSAlignmentModule() {;}; // default destructor OK
51 Int_t GetIndex(){return findex;}
52 void GetId(Int_t &lay,Int_t &lad,Int_t &det){lay=flay;lad=flad;det=fdet;}
53 Double_t * GetTranslationVector(){return fx0;}
54 Double_t * GetRotationAngles(){return fangles;}
55 Double_t ComputeChi2();
56 Double_t GetChi2(){return fChi2;}
58 void lnsrch(Int_t npar,Double_t *xold,Double_t fold,Double_t *g,
59 Double_t *p,Double_t *x,Double_t &f,Double_t stpmax,
61 void MRVMminimization(Int_t npar,Double_t *p,Double_t &fret,Double_t gtol,
63 void SetByAngles(Double_t *th);
66 void dfMdthx(Double_t dfMx[3][3]);
67 void dfMdthy(Double_t dfMx[3][3]);
68 void dfMdthz(Double_t dfMx[3][3]);
69 void LtoG(Double_t xl[],Double_t xg[]);
70 void GtoL(Double_t xg[],Double_t xl[]);
71 Double_t Chi2(Double_t p[]);
72 void dChi2(Double_t p[],Double_t dChi2[]);
75 ClassDef(AliITSAlignmentModule,1) // Module class for ITS Alignment