trigger class added (M.Ivanov)
[u/mrichter/AliRoot.git] / PWGPP / AliRelAlignerKalmanArray.h
CommitLineData
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 13class TObjArray;
51cfc50d 14class TGraphErrors;
4a84c20d 15class TNamed;
51cfc50d 16class TTree;
17class TCollection;
18class AliESDEvent;
63f4d30f 19class TBrowser;
20class TList;
8478bf3d 21#include <AliRelAlignerKalman.h>
4a84c20d 22
23class AliRelAlignerKalmanArray:public TNamed
24{
25public:
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
54private:
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