]>
Commit | Line | Data |
---|---|---|
98937d93 | 1 | #ifndef ALITRACKRESIDUALS_H |
2 | #define ALITRACKRESIDUALS_H | |
3 | ||
4 | //************************************************************************ | |
5 | // AliTrackResiduals: base class for collecting the track space point * | |
6 | // residuals produced by the fast track fitters (AliTrackFitter class). * | |
7 | // It provides an interface to the arrays which contain the space points * | |
8 | // and track extrapolation points within the detector volume to be * | |
9 | // aligned. The derived classes should implement method to analyze the * | |
10 | // track residuals and minimize their sum in order to get the * | |
11 | // AliAlignObj for the given detector volume. * | |
12 | //************************************************************************ | |
13 | ||
14 | #include "TObject.h" | |
15 | ||
16 | class AliAlignObj; | |
17 | class AliTrackPointArray; | |
18 | ||
19 | class AliTrackResiduals : public TObject { | |
20 | ||
21 | public: | |
22 | ||
23 | AliTrackResiduals(); | |
24 | AliTrackResiduals(Int_t ntracks, AliAlignObj *alignobj); | |
25 | AliTrackResiduals(const AliTrackResiduals &res); | |
26 | AliTrackResiduals& operator= (const AliTrackResiduals& res); | |
27 | virtual ~AliTrackResiduals(); | |
28 | ||
29 | void SetNTracks(Int_t ntracks); | |
30 | void SetAlignObj(AliAlignObj *alignobj) { fAlignObj = alignobj; } | |
31 | Bool_t AddTrackPointArrays(AliTrackPointArray *volarray, AliTrackPointArray *trackarray); | |
32 | ||
33 | virtual Bool_t Minimize() = 0; | |
34 | ||
35 | Int_t GetNTracks() const { return fN; } | |
36 | Int_t GetNFilledTracks() const { return fLast; } | |
37 | Bool_t GetTrackPointArrays(Int_t i, AliTrackPointArray* &volarray, AliTrackPointArray* &trackarray) const; | |
38 | AliAlignObj *GetAlignObj() const { return fAlignObj; } | |
39 | ||
40 | protected: | |
41 | ||
42 | void DeleteTrackPointArrays(); | |
43 | ||
44 | Int_t fN; // Number of tracks | |
45 | Int_t fLast; // Index of the last filled track arrays | |
46 | AliAlignObj *fAlignObj; // Pointer to the volume alignment object to be fitted | |
47 | AliTrackPointArray **fVolArray; //! Pointers to the arrays containing space points | |
48 | AliTrackPointArray **fTrackArray; //! Pointers to the arrays containing track extrapolation points | |
49 | Bool_t fIsOwner; // Track point arrays owned by the object | |
50 | ||
51 | ClassDef(AliTrackResiduals,1) | |
52 | ||
53 | }; | |
54 | ||
55 | #endif |