]>
Commit | Line | Data |
---|---|---|
b9d722bc | 1 | #ifndef ALIITSNEURALPOINT_H |
2 | #define ALIITSNEURALPOINT_H | |
7d62fb64 | 3 | /////////////////////////////////////////////////////////////// |
4 | // AliITSneuralPoint // | |
5 | // // | |
6 | // A class which resumes the information of ITS clusters // | |
7 | // in the global reference frame. // | |
8 | // Author: A. Pulvirenti // | |
9 | /////////////////////////////////////////////////////////////// | |
b9d722bc | 10 | class AliITSgeom; |
11 | class AliITSgeomMatrix; | |
12 | class AliITSRecPoint; | |
00a7cc50 | 13 | class AliITSRecPoint; |
b9d722bc | 14 | |
15 | class AliITSNeuralPoint : public TObject { | |
16 | ||
17 | public: | |
18 | ||
19 | AliITSNeuralPoint(); | |
20 | AliITSNeuralPoint(AliITSNeuralPoint *p); | |
21 | AliITSNeuralPoint(AliITSRecPoint *rp, AliITSgeomMatrix *gm); | |
00a7cc50 | 22 | AliITSNeuralPoint(AliITSRecPoint *rp, AliITSgeom *geom, Short_t module, Short_t index); |
b9d722bc | 23 | |
853a0f19 | 24 | virtual ~AliITSNeuralPoint() { } |
b9d722bc | 25 | |
26 | Double_t& X() {return fX;} // reference to X coord | |
27 | Double_t& Y() {return fY;} // reference to Y coord | |
28 | Double_t& Z() {return fZ;} // reference to Z coord | |
29 | Double_t& ErrX() {return fEX;} // reference to X error | |
30 | Double_t& ErrY() {return fEY;} // reference to Y error | |
31 | Double_t& ErrZ() {return fEZ;} // reference to Z error | |
32 | ||
33 | Double_t GetR2() const {return TMath::Sqrt(GetR2sq());} // xy radius | |
34 | Double_t GetR3() const {return TMath::Sqrt(GetR3sq());} // 3D radius | |
35 | Double_t GetR2sq() const {return fX*fX+fY*fY;} // xy rad. square | |
36 | Double_t GetR3sq() const {return GetR2sq()+fZ*fZ;} // 3D rad. square | |
37 | Double_t GetPhi() const; | |
38 | Double_t GetTheta() const {return TMath::ATan2(GetR2(),fZ);} // polar angle | |
39 | Double_t GetConfX() const {return fConfX;} | |
40 | Double_t GetConfY() const {return fConfY;} | |
41 | Double_t GetError(Option_t *opt); | |
42 | void ConfMap(Double_t vx, Double_t vy); | |
43 | ||
44 | Double_t GetCharge() const {return fCharge;} // ADC signal | |
45 | Short_t GetIndex() const {return fIndex;} // Reference in TreeR | |
46 | Long_t GetLabel(Int_t i) const {return fLabel[Chk(i)];} // GEANT owner particle | |
47 | Short_t GetLayer() const {return fLayer;} // ITS layer | |
48 | Short_t GetModule() const {return fModule;} // ITS module | |
49 | Short_t GetUser() const {return fUser;} // Found track owner | |
50 | ||
51 | void SetCharge(Double_t val) {fCharge = val;} | |
52 | void SetIndex(Short_t val) {fIndex = val;} | |
53 | void SetLabel(Int_t i, Long_t val) {fLabel[Chk(i)] = val;} | |
54 | void SetLayer(Short_t val) {fLayer = val;} | |
55 | void SetModule(Short_t val) {fModule = val;} | |
56 | void SetUser(Short_t val) {fUser = val;} | |
57 | ||
853a0f19 | 58 | Bool_t HasID (Int_t ID) const; |
7d62fb64 | 59 | Int_t* SharedID(AliITSNeuralPoint *p) const; |
b9d722bc | 60 | |
61 | protected: | |
62 | ||
63 | Int_t Chk(Int_t i) const {if(i<0)i=0;if(i>=3)i=3;return i;} | |
64 | ||
853a0f19 | 65 | Double_t fX; // position |
b9d722bc | 66 | Double_t fY; // position |
853a0f19 | 67 | Double_t fZ; // position |
b9d722bc | 68 | |
69 | Double_t fConfX; // conformal mapping X | |
70 | Double_t fConfY; // conformal mapping Y | |
71 | ||
853a0f19 | 72 | Double_t fEX; // position error |
b9d722bc | 73 | Double_t fEY; // position error |
853a0f19 | 74 | Double_t fEZ; // position error |
b9d722bc | 75 | |
76 | Double_t fCharge; // total charge signal in cluster | |
77 | ||
78 | Short_t fModule; // ITS module containing the point (0 - 2197) | |
79 | Short_t fIndex; // index as TClonesArray entry in TreeR (usually not > 600) | |
80 | Short_t fLayer; // ITS layer containing the point | |
81 | Short_t fUser; // owner recognized track or flag to evidence using | |
82 | Short_t fZSort; // order as a function of local Z | |
83 | ||
84 | Int_t fLabel[3]; // GEANT labels of the owner tracks | |
85 | ||
86 | ClassDef(AliITSNeuralPoint, 1) // AliITSNeuralPoints class | |
87 | }; | |
88 | ||
89 | #endif |