]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSTrackerV1.h
Corrected setting of magnetic field
[u/mrichter/AliRoot.git] / ITS / AliITSTrackerV1.h
index 93468e9f25be9f7401768ce38be4f0f9292a712b..691e5a1a0d4c0c4d7f72c11d919d62819d1a6261 100644 (file)
@@ -1,21 +1,23 @@
-//Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
-//See cxx source for full Copyright notice                               */
+//Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved.
+//See cxx source for full Copyright notice
 //
 //The purpose of this class is to permorm the ITS tracking.
 //
-//The constructor has the task to inizialize some private members.
-//The method DoTracking is written to be called by a macro. It gets the event number, the minimum and maximum
-//order number of TPC tracks that are to be tracked trough the ITS, and the file where the recpoints are
-//registered.
+//      The constructor has the task to inizialize some private members.
+// The method DoTracking is written to be called by a macro. It gets the event
+// number, the minimum and maximum order number of TPC tracks that are to be
+// tracked trough the ITS, and the file where the recpoints are registered.
 //
-//The method AliiTStracking is a recursive function that performs the tracking trough the ITS
+// The method AliiTStracking is a recursive function that performs the
+// tracking trough the ITS
 //
-//The method Intersection found the layer, ladder and detector whre the intersection take place and caluclate
-//the cohordinates of this intersection.  It returns an integer that is 0 if the intersection has been found
-//successfully.
+// The method Intersection found the layer, ladder and detector where the
+// intersection take place and caluclate the cohordinates of this
+// intersection.  It returns an integer that is 0 if the intersection has
+// been found successfully.
 //
-//The two mwthods Kalmanfilter and kalmanfiltervert operate the kalmanfilter without and with the vertex
-//imposition respectively.
+// The two mwthods Kalmanfilter and kalmanfiltervert operate the
+// kalmanfilter without and with the verteximposition respectively.
 
 #ifndef ALIITSTRACKERV1_H
 #define ALIITSTRACKERV1_H
@@ -33,60 +35,58 @@ class AliITSgeoinfo;
 class TStopwatch;
 
 class AliITSTrackerV1 : public TObject {
-
-  public:
-    
-        AliITSTrackerV1(AliITS* IITTSS, Bool_t flag);
-        
-        AliITSTrackerV1(const AliITSTrackerV1 &cobj);
-        
-        ~AliITSTrackerV1();
-          
+ public:
+    AliITSTrackerV1();
+       AliITSTrackerV1(AliITS* IITTSS, Int_t evnumber, Bool_t flag);
+    AliITSTrackerV1(const AliITSTrackerV1 &cobj);
+    ~AliITSTrackerV1();
     AliITSTrackerV1 &operator=(AliITSTrackerV1 obj);
-        
-        void DoTracking(Int_t evNumber, Int_t minTr, Int_t maxTr, TFile *file);
-        
-        void RecursiveTracking(TList *trackITSlist);
+        void DelMatrix(Int_t NumOfModules);
+    void DoTracking(Int_t evNumber, Int_t minTr, Int_t maxTr, TFile *file, Bool_t realmass=0);
+    void RecursiveTracking(TList *trackITSlist);
+    Int_t Intersection(AliITSTrackV1 &track, Int_t layer,Int_t &ladder,
+                      Int_t &detector); 
+    void KalmanFilter(AliITSTrackV1 *newtrack, TVector &cluster,
+                     Double_t sigma[2]);
+    void KalmanFilterVert(AliITSTrackV1 *newtrack, TVector &cluster,
+                         Double_t sigma[2]);
+    //void KalmanFilterVert(AliITSTrackV1 *newtrack, TVector &cluster,
+    //                      Double_t sigma[2], Double_t chi2pred);
+ private:
+    AliITS* fITS;              //! pointer to AliITS
+    AliITSTrackV1 *fresult;    // result is a pointer to the final best track
+    Double_t fPtref;           // transvers momentum obtained from TPC tracking
+    Double_t fChi2max;         //  chi2 cut  
+    //Double_t fepsphi;  //eps for definition window in phi 
+   // Double_t fepsz;  //eps for definition window in z 
+    TClonesArray  *frecPoints;    // pointer to RecPoints
+    Int_t **fvettid;           // flag vector of used clusters
+    Bool_t fflagvert;          // a flag to impose or not the vertex constraint
+    AliITSRad *frl;            // pointer to get the radiation lenght matrix
+///      To be put in a specific geometric class        
+    Int_t fNlad[6];            // Number of ladders for a given layer
+    Int_t fNdet[6];            // Number of detector for a given layer
+    Double_t fAvrad[6];        // Average radius for a given layer
+    Double_t fDetx[6];// Semidimension of detectors along x axis for a given layer
+    Double_t fDetz[6];// Semidimension of detectors along z axis for a given layer
+    Double_t **fzmin;// Matrix of zmin for a given layer and a given detector
+    Double_t **fzmax;// Matrix of zmax for a given layer and a given detector
+    Double_t **fphimin;// Matrix of phimin for a given layer and a given ladder
+    Double_t **fphimax;// Matrix of phimax for a given layer and a given ladder
+    Double_t **fphidet; // azimuthal angle for a given layer and a given ladder
+        Int_t *fNRecPoints;        // pointer to the vector giving the number of recpoints for a given module
+        /*
+        Float_t **fRecCylR;        // pointer to the matrix giving the R cylindric cohordinate of a recpoint
+        Float_t **fRecCylPhi;      // pointer to the matrix giving the Phi cylindric cohordinate of a recpoint
+        Float_t **fRecCylZ;        // pointer to the matrix giving the Z cylindric cohordinate of a recpoint   
+        */
+        Double_t **fRecCylR;        // pointer to the matrix giving the R cylindric cohordinate of a recpoint
+        Double_t **fRecCylPhi;      // pointer to the matrix giving the Phi cylindric cohordinate of a recpoint
+        Double_t **fRecCylZ;        // pointer to the matrix giving the Z cylindric cohordinate of a recpoint            
+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    Double_t fFieldFactor;     // Magnetic field factor 
  
-    Int_t Intersection(AliITSTrackV1 &track, Int_t layer, Int_t &ladder, Int_t &detector); 
-    void KalmanFilter(AliITSTrackV1 *newtrack, TVector &cluster, Double_t sigma[2]);
-    
-   // void KalmanFilterVert(AliITSTrackV1 *newtrack, TVector &cluster, Double_t sigma[2]);
-       void KalmanFilterVert(AliITSTrackV1 *newtrack, TVector &cluster, Double_t sigma[2], Double_t chi2pred);
-        
-  private:
-
-    AliITS* fITS;              // pointer to AliITS
-        AliITSTrackV1 *fresult;    // result is a pointer to the final best track
-        Double_t fPtref;           // transvers momentum obtained from TPC tracking
-        Double_t fChi2max;          //  cluster with chi2>chi2max are cut. It is pt dependend.  aggiunto il 31-7-2001
-        Double_t fepsphi;           //eps for definition window in phi    //aggiunto il 1-8-2001
-        Double_t fepsz;             //eps for definition window in z      //aggiunto il 1-8-2001
-        TObjArray  *frecPoints;    // pointer to RecPoints
-        Int_t **fvettid;           // flag vector of used clusters
-        Bool_t fflagvert;          // a flag to impose or not the vertex constraint
-        AliITSRad *frl;            // pointer to get the radiation lenght matrix 
-        
-        Int_t fNlad[6];            // Number of ladders for a given layer
-        Int_t fNdet[6];            // Number of detector for a given layer
-        Double_t fAvrad[6];        // Average radius for a given layer
-        Double_t fDetx[6];         // Semidimension of detectors along x axis for a given layer
-        Double_t fDetz[6];         // Semidimension of detectors along z axis for a given layer
-        
-        Double_t **fzmin;          // Matrix of zmin for a given layer and a given detector
-        Double_t **fzmax;          // Matrix of zmax for a given layer and a given detector
-        
-        Double_t **fphimin;        // Matrix of phimin for a given layer and a given ladder
-        Double_t **fphimax;        // Matrix of phimax for a given layer and a given ladder
-        
-        Double_t **fphidet;        // azimuthal angle for a given layer and a given ladder
-        
-        Double_t fFieldFactor;     // Magnetic filed factor
-        
-        //TStopwatch *fTimerKalman;         // timer for kalman filter
-        //TStopwatch *fTimerIntersection;   // timer for Intersection
-        
-    ClassDef(AliITSTrackerV1,1)
+    ClassDef(AliITSTrackerV1,1)  
 };
 
 #endif