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