]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSNeuralTrack.h
New include needed
[u/mrichter/AliRoot.git] / ITS / AliITSNeuralTrack.h
index c9c6e78b8160027ad438da4100abd249ba57bd11..c924dc54a3c6dc27c2f3307961045b5b6fe9733a 100644 (file)
@@ -1,6 +1,9 @@
 #ifndef ALIITSNEURALTRACK_H
 #define ALIITSNEURALTRACK_H
-
+///////////////////////////////////////////////////
+//                                               //
+// Neural track class                            //
+///////////////////////////////////////////////////
 #include <TMatrixD.h>
 
 class TObjArray;
@@ -11,8 +14,10 @@ class AliITSIOTrack;
 class AliITSNeuralTrack : public TObject {
 
 public:
-                AliITSNeuralTrack();
-       virtual ~AliITSNeuralTrack();
+  AliITSNeuralTrack();
+  AliITSNeuralTrack(const AliITSNeuralTrack &track);
+  AliITSNeuralTrack& operator=(const AliITSNeuralTrack& track );
+  virtual ~AliITSNeuralTrack();
                
        // Points insertion and goodness evaluation
 
@@ -21,8 +26,8 @@ public:
        void     CleanAllSlots(Bool_t del = kFALSE)        {Int_t i; for(i=0;i<6;i++) CleanSlot(i,del);}
        void     GetModuleData(Int_t i, Int_t &mod, Int_t &pos);
        void     Insert(AliITSNeuralPoint *point);
-       Bool_t   IsGood(Int_t min)                         {return (fCount >= min);}
-       Int_t    OccupationMask();
+       Bool_t   IsGood(Int_t min)                   const      {return (fCount >= min);}
+       Int_t    OccupationMask() const;
        void     PrintLabels();
                
        // Fit procedures
@@ -40,31 +45,30 @@ public:
 
        // Getters
 
-       Int_t    GetLabel()        {return fLabel;}
-       Int_t    GetCount()        {return fCount;}
-       Double_t GetDt()           {return fDt;}
-       Double_t GetDz();          
-       Double_t GetC()            {return fC;}
-       Double_t GetR()            {return fR;}
-       Double_t GetXC()           {return fXC;}
-       Double_t GetYC()           {return fYC;}
-       Double_t GetTanL()         {return fTanL;}
-       Double_t GetGamma();       
-       Double_t GetChi2()         {return fChi2;}
-       Double_t GetStateR()       {return fStateR;}
-       Double_t GetStatePhi()     {return fStatePhi;}
-       Double_t GetStateZ()       {return fStateZ;}
-       Double_t GetCovElement(Int_t i, Int_t j) {return fMatrix(i,j);}
-       Double_t GetPhi(Double_t r);        // phi = gamma0 + asin(argphi(rho))
-       Double_t GetZ(Double_t r);          // z = dz + (tanl / C) * asin(argz(rho))
-       
+       Int_t    GetLabel() const  {return fLabel;}
+       Int_t    GetCount() const  {return fCount;}
+       Double_t GetDt()    const  {return fDt;}
+       Double_t GetDz()    const;          
+       Double_t GetC()     const  {return fC;}
+       Double_t GetR()     const  {return fR;}
+       Double_t GetXC()    const  {return fXC;}
+       Double_t GetYC()    const  {return fYC;}
+       Double_t GetTanL()  const  {return fTanL;}
+       Double_t GetGamma() const;       
+       Double_t GetChi2()  const  {return fChi2;}
+       Double_t GetStateR() const {return fStateR;}
+       Double_t GetStatePhi() const {return fStatePhi;}
+       Double_t GetStateZ() const {return fStateZ;}
+       Double_t GetCovElement(Int_t i, Int_t j) const {return fMatrix(i,j);}
+       Double_t GetPhi(Double_t r) const;  // phi = gamma0 + asin(argphi(rho))
+       Double_t GetZ(Double_t r) const;    // z = dz + (tanl / C) * asin(argz(rho))
 
        Double_t GetP()       {return GetPt() * (1.0 + fTanL * fTanL);}
-       Double_t GetPt()      {return 0.299792658 * 0.2 * fField * fabs(1./fC/100.);}
+       Double_t GetPt()      {return 0.299792658 * 0.2 * fField * TMath::Abs(1./fC/100.);}
        Double_t GetPz()      {return GetPt() * fTanL;}
-       Double_t GetE()       {return sqrt(fMass*fMass + GetPt()*GetPt());}
-       Double_t GetLambda()  {return atan(fTanL);}
-       Int_t    GetPDGcode() {return fPDG;}
+       Double_t GetE()       {return TMath::Sqrt(fMass*fMass + GetPt()*GetPt());}
+       Double_t GetLambda()  {return TMath::ATan(fTanL);}
+       Int_t    GetPDGcode() const {return fPDG;}
        Double_t GetdEdX();
 
        // Setters
@@ -103,9 +107,9 @@ private:
        Double_t fDt;       // transverse impact parameter
        Double_t fDz;       // longitudinal impact parameter
 
-       Double_t fStateR;   //
+       Double_t fStateR;   // state vector coordinates
        Double_t fStatePhi; // state vector coordinates
-       Double_t fStateZ;   //
+       Double_t fStateZ;   // state vector coordinates
        TMatrixD fMatrix;   // covariance matrix
        Double_t fChi2;     // square chi (calculated by Kalman filter)
        Double_t fNSteps;   // number of Kalman steps