]>
Commit | Line | Data |
---|---|---|
4a84c20d | 1 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
2 | * See cxx source for full Copyright notice */ | |
3 | ||
4 | /////////////////////////////////////////////////////////////////////////////// | |
5 | // | |
6 | // Data container for relative ITS-TPC alignment analysis | |
7 | // see info in the implementation file | |
8 | // | |
9 | // Origin: Mikolaj Krzewicki, Nikhef, Mikolaj.Krzewicki@cern.ch | |
10 | // | |
11 | ////////////////////////////////////////////////////////////////////////////// | |
12 | ||
4a84c20d | 13 | class TObjArray; |
51cfc50d | 14 | class TGraphErrors; |
4a84c20d | 15 | class TNamed; |
51cfc50d | 16 | class TTree; |
17 | class TCollection; | |
18 | class AliESDEvent; | |
63f4d30f | 19 | class TBrowser; |
20 | class TList; | |
8478bf3d | 21 | #include <AliRelAlignerKalman.h> |
4a84c20d | 22 | |
23 | class AliRelAlignerKalmanArray:public TNamed | |
24 | { | |
25 | public: | |
26 | AliRelAlignerKalmanArray(); | |
51cfc50d | 27 | AliRelAlignerKalmanArray(Int_t t0, Int_t tend, Int_t slotwidth); |
4a84c20d | 28 | virtual ~AliRelAlignerKalmanArray(); |
29 | AliRelAlignerKalmanArray& operator=(const AliRelAlignerKalmanArray& a ); | |
30 | AliRelAlignerKalmanArray(const AliRelAlignerKalmanArray& a); | |
51cfc50d | 31 | void SetupArray(Int_t t0, Int_t tend, Int_t slotwidth); |
4a84c20d | 32 | |
51cfc50d | 33 | AliRelAlignerKalman* GetAligner(UInt_t timestamp); |
34 | AliRelAlignerKalman* GetAligner(AliESDEvent* event); | |
35 | AliRelAlignerKalman* GetAlignerTemplate(); | |
4a84c20d | 36 | Long64_t Merge( TCollection* list ); |
4a84c20d | 37 | AliRelAlignerKalman* At( Int_t i ) const; |
4a84c20d | 38 | AliRelAlignerKalman* operator[](Int_t i) const; |
51cfc50d | 39 | AliRelAlignerKalman*& operator[](Int_t i); |
40 | Int_t GetEntries() const; | |
41 | Int_t GetSize() const {return fSize;} | |
42 | AliRelAlignerKalman* Last() const; | |
43 | UInt_t GetT0() const {return fT0;} | |
44 | UInt_t GetTimebinWidth() const {return fTimebinWidth;} | |
45 | Int_t Timebin( UInt_t timestamp ) const; | |
46 | virtual void Print(Option_t* option="") const; | |
47 | void FillTree( TTree* tree )const ; | |
48 | TGraphErrors* MakeGraph(Int_t iparam) const; | |
49 | AliRelAlignerKalmanArray* MakeSmoothArray() const; | |
50 | void SetOutRejSigmaOnMerge(Double_t s) {fOutRejSigmaOnMerge=s;} | |
51 | void SetOutRejSigmaOnSmooth(Double_t s) {fOutRejSigmaOnSmooth=s;} | |
63f4d30f | 52 | void Browse(TBrowser *b); |
4a84c20d | 53 | |
54 | private: | |
51cfc50d | 55 | void ClearContents(); |
56 | void PropagateToTime(AliRelAlignerKalman* al, UInt_t timestamp ) const; | |
57 | ||
58 | UInt_t fT0; //time of first time slot | |
59 | Int_t fTimebinWidth; //width of the time bin in seconds | |
60 | Int_t fSize; //size | |
61 | Double_t fOutRejSigmaOnMerge; //how much outlier rejection on merge | |
62 | Double_t fOutRejSigmaOnSmooth; //how much outlier rejection on Smooth | |
8478bf3d | 63 | AliRelAlignerKalman fAlignerTemplate; //template |
51cfc50d | 64 | AliRelAlignerKalman** fPArray; //[fSize] an array of aligners |
63f4d30f | 65 | TList* fListOfGraphs; //!hold the graphs |
4a84c20d | 66 | |
63f4d30f | 67 | ClassDef(AliRelAlignerKalmanArray,5); //AliRelAlignerKalman class |
4a84c20d | 68 | }; |
69 | ||
4a84c20d | 70 |