]>
Commit | Line | Data |
---|---|---|
b9a6a391 | 1 | // $Id$ |
2 | ||
3 | #ifndef ALIJFCLUSTERH | |
4 | #define ALIJFCLUSTERH | |
5 | ||
6 | #include <Riostream.h> | |
7 | #include <vector> | |
8 | #include <TMath.h> | |
9 | ||
10 | #include "AliJFPreCluster.h" | |
11 | ||
12 | class AliJFCluster | |
13 | { | |
14 | public: | |
15 | AliJFCluster(Int_t n=100); | |
16 | AliJFCluster(const AliJFCluster ©); | |
17 | AliJFCluster(AliJFPreCluster ©); | |
18 | AliJFCluster(AliJFPreCluster *precluster); | |
19 | virtual ~AliJFCluster(); | |
20 | ||
21 | AliJFCluster& operator=(const AliJFCluster &rhs); | |
22 | AliJFCluster& operator=(AliJFPreCluster &rhs); | |
23 | AliJFCluster& operator+=(AliJFCluster &rhs); | |
24 | AliJFCluster& operator+=(AliJFPreCluster &rhs); | |
25 | friend ostream& operator<< (ostream &o, const AliJFCluster &c); | |
26 | ||
27 | void CombineCluster(AliJFCluster &rhs); | |
28 | ||
29 | inline Int_t const GetStatus() const {return fStatus;} | |
30 | inline Int_t const GetNMerge() const {return fNMerge;} | |
31 | inline Bool_t const IsValid() const {return(fStatus==1 ? kTRUE:kFALSE);} | |
32 | inline Bool_t const IsMerged() const {return(fStatus==10 ? kTRUE:kFALSE);} | |
33 | inline Bool_t const IsJet() const {return(fStatus==100 ? kTRUE:kFALSE);} | |
34 | inline Bool_t const IsInValid() const {return(fStatus<=0 ? kTRUE:kFALSE);} | |
35 | ||
36 | inline Float_t const GetPx() const {return fPx ;} | |
37 | inline Float_t const GetPy() const {return fPy ;} | |
38 | inline Float_t const GetPz() const {return fPz ;} | |
39 | inline Float_t const GetE() const {return fE ;} | |
40 | inline Float_t const GetY() const {return fY ;} | |
41 | inline Float_t const GetPhi() const {return fPhi ;} | |
42 | inline Float_t const GetPt2() const {return fPt2 ;} | |
43 | inline Float_t const GetPt2D() const {return fPt2dD;} | |
44 | ||
45 | Int_t const GetNCombinedCluster() const {return fList.size();}; | |
46 | vector<AliJFPreCluster*> const * GetClusterList() const {return &fList;} | |
47 | ||
48 | inline void MarkIsValid() {fStatus=1 ;} | |
49 | inline void MarkIsMerged() {fStatus=10 ;} | |
50 | inline void MarkIsJet() {fStatus=100;} | |
51 | inline void MarkIsInValid() {fStatus=-1 ;} | |
52 | inline void SetStatus(Int_t s){fStatus=s ;} | |
53 | ||
54 | void Print(); | |
55 | ||
56 | static void SetD(Float_t D_){D2=D_*D_;} | |
57 | ||
58 | protected: | |
59 | void SetValues(); | |
60 | ||
61 | void SetValues(Float_t px, Float_t py, Float_t pz, Float_t E=-1); | |
62 | void AddValues(Float_t px, Float_t py, Float_t pz, Float_t E); | |
63 | ||
64 | Int_t fStatus; | |
65 | Int_t fNMerge; | |
66 | Float_t fPx; | |
67 | Float_t fPy; | |
68 | Float_t fPz; | |
69 | Float_t fE; | |
70 | Float_t fY; | |
71 | Float_t fPhi; | |
72 | Float_t fPt2; | |
73 | Float_t fPt2dD; | |
74 | ||
75 | vector<AliJFPreCluster*> fList; //-> | |
76 | ||
77 | static Float_t D2; //static D*D for K_t comparison | |
78 | ||
79 | ClassDef(AliJFCluster,1) //AliJFCluster class | |
80 | }; | |
81 | ||
82 | #endif /*ALIJFCLUSTERH*/ |