]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSAlignmentModule.h
Latest Fixes from M.Bondila
[u/mrichter/AliRoot.git] / ITS / AliITSAlignmentModule.h
CommitLineData
e8189707 1#ifndef ALIITSALIGNMENTMODULE_H
2#define ALIITSALIGNMENTMODULE_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6/* $Id$ */
7/* $Author$ */
8/* $Date$ */
9/* $Name$ */
10/* $Header$ */
11/*
12 $Log$
13 Revision 1.1.2.2 2000/03/04 23:39:56 nilsen
14 Fixed the logs???
15
16 Revision 1.1.2.1 2000/03/02 20:12:57 nilsen
17 A new class useful for ITS detector Alignment studdies
18*/
19/* $Revision$ */
20
21// Standard C & C++ libraries
22#include <TObject.h>
23
24// Standard Root Libraries
25#include "TParticle.h"
26
27// ITS libraries
28#include "AliITSgeom.h"
29
30class 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///////////////////////////////////////////////////////////////////////////
37
38 protected:
39
40 Int_t findex,flay,flad,fdet;
41 TObjArray *ftrksM;
42 Double_t fChi2;
43 Double_t fx0[3],fM[3][3],fangles[3];
44
45 public:
46
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;}
57 void AlignModule();
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,
60 Int_t &check);
61 void MRVMminimization(Int_t npar,Double_t *p,Double_t &fret,Double_t gtol,
62 Int_t &iter);
63 void SetByAngles(Double_t *th);
64
65 private:
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[]);
73
74
75 ClassDef(AliITSAlignmentModule,1) // Module class for ITS Alignment
76
77
78};
79#endif