]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/UPGRADE/AliITSUClusterLines.h
fix the default cdb storage
[u/mrichter/AliRoot.git] / ITS / UPGRADE / AliITSUClusterLines.h
1 #ifndef ALIITSUCLUSTERLINES_H
2 #define ALIITSUCLUSTERLINES_H
3 /* Copyright(c) 2009-2014, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5  
6 /////////////////////////////////////////////////////////////////////////////
7 // Class intended to gather and compute the parameters of vertex candidate //
8 /////////////////////////////////////////////////////////////////////////////
9  
10 #include <TObject.h>
11 #include <Riostream.h>
12 #include "AliStrLine.h"
13
14
15 class AliITSUClusterLines : public TObject {
16  public:
17   AliITSUClusterLines();
18   AliITSUClusterLines(UInt_t first, AliStrLine *firstL, UInt_t second, AliStrLine *secondL,Bool_t=kFALSE);
19   virtual ~AliITSUClusterLines();
20   
21   void Add(UInt_t label, AliStrLine *line, Bool_t weight=kFALSE);
22   void ComputeClusterCentroid();
23   inline UInt_t GetSize() const { return fLabels.size(); }
24   inline Int_t* GetLabels(UInt_t &n) {n=fLabels.size(); return &fLabels[0]; }
25   inline void GetA(Float_t a[3]) { for(Int_t i=0; i<3; ++i) a[i]=fA[i]; }
26   inline void GetA(Double_t a[3]) { for(Int_t i=0; i<3; ++i) a[i]=fA[i]; }
27   inline void GetB(Float_t b[3]) { for(Int_t i=0; i<3; ++i) b[i]=fB[i]; }
28   inline void GetB(Double_t b[3]) { for(Int_t i=0; i<3; ++i) b[i]=fB[i]; }
29   void GetCovMatrix(Float_t cov[6]);
30   void GetCovMatrix(Double_t cov[6]);
31   inline void GetVertex(Float_t p[3]) { for(Int_t i=0; i<3; ++i) p[i]=fV[i]; }
32   inline void GetVertex(Double_t p[3]) { for(Int_t i=0; i<3; ++i) p[i]=fV[i]; }
33   inline void GetWeight(Float_t w[9]) { for(Int_t i=0; i<9; ++i) w[i]=fW[i]; }
34   inline void GetWeight(Double_t w[9]) { for(Int_t i=0; i<9; ++i) w[i]=fW[i]; }
35   //
36   virtual Bool_t IsSortable()                 const {return kTRUE;}
37   virtual Bool_t IsEqual(const TObject* obj)  const;
38   virtual Int_t  Compare(const TObject* obj)  const;
39
40  protected:
41   Double_t fA[6];         // AX=B 
42   Double_t fB[3];         // AX=B
43   vector<Int_t> fLabels;  // labels
44   Double_t fV[3];         // vertex candidate
45   Double_t fW[9];         // weight matrix
46   ClassDef(AliITSUClusterLines,1);
47 };
48
49 #endif