1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
4 ///////////////////////////////////////////////////////////////////////////////
6 // Data container for relative ITS-TPC alignment analysis
7 // see info in the implementation file
9 // Origin: Mikolaj Krzewicki, Nikhef, Mikolaj.Krzewicki@cern.ch
11 //////////////////////////////////////////////////////////////////////////////
19 #include <AliRelAlignerKalman.h>
21 class AliRelAlignerKalmanArray:public TNamed
24 AliRelAlignerKalmanArray();
25 AliRelAlignerKalmanArray(Int_t t0, Int_t tend, Int_t slotwidth);
26 virtual ~AliRelAlignerKalmanArray();
27 AliRelAlignerKalmanArray& operator=(const AliRelAlignerKalmanArray& a );
28 AliRelAlignerKalmanArray(const AliRelAlignerKalmanArray& a);
29 void SetupArray(Int_t t0, Int_t tend, Int_t slotwidth);
31 AliRelAlignerKalman* GetAligner(UInt_t timestamp);
32 AliRelAlignerKalman* GetAligner(AliESDEvent* event);
33 AliRelAlignerKalman* GetAlignerTemplate();
34 Long64_t Merge( TCollection* list );
35 AliRelAlignerKalman* At( Int_t i ) const;
36 AliRelAlignerKalman* operator[](Int_t i) const;
37 AliRelAlignerKalman*& operator[](Int_t i);
38 Int_t GetEntries() const;
39 Int_t GetSize() const {return fSize;}
40 AliRelAlignerKalman* Last() const;
41 UInt_t GetT0() const {return fT0;}
42 UInt_t GetTimebinWidth() const {return fTimebinWidth;}
43 Int_t Timebin( UInt_t timestamp ) const;
44 virtual void Print(Option_t* option="") const;
45 void FillTree( TTree* tree )const ;
46 TGraphErrors* MakeGraph(Int_t iparam) const;
47 AliRelAlignerKalmanArray* MakeSmoothArray() const;
48 void SetOutRejSigmaOnMerge(Double_t s) {fOutRejSigmaOnMerge=s;}
49 void SetOutRejSigmaOnSmooth(Double_t s) {fOutRejSigmaOnSmooth=s;}
53 void PropagateToTime(AliRelAlignerKalman* al, UInt_t timestamp ) const;
55 UInt_t fT0; //time of first time slot
56 Int_t fTimebinWidth; //width of the time bin in seconds
58 Double_t fOutRejSigmaOnMerge; //how much outlier rejection on merge
59 Double_t fOutRejSigmaOnSmooth; //how much outlier rejection on Smooth
60 AliRelAlignerKalman fAlignerTemplate; //template
61 AliRelAlignerKalman** fPArray; //[fSize] an array of aligners
63 ClassDef(AliRelAlignerKalmanArray,4); //AliRelAlignerKalman class