coveritiy
[u/mrichter/AliRoot.git] / HMPID / AliHMPIDTracker.h
index 116aec3..a0af9b9 100644 (file)
@@ -2,27 +2,51 @@
 #define AliHMPIDTracker_h
 
 #include <AliTracker.h> //base class
+#include "AliHMPID.h"   //Recon()
+#include <AliRun.h>     //Recon()
+#include <TF1.h>        //field
+#include <TObjArray.h>        //field
+//.
+// HMPID base class fo tracking
+//.
 
-class TNtupleD;         //RecWithStack()   
-class AliESD;           //Clusters2Tracks(), RefitInward(), PropagateBack(), RecWithESD()
+class AliESDEvent;      //Recon()     
+class AliESDtrack;      //IntTrkCha()
+class AliHMPIDtrack;
+class AliHMPIDRecoParamV1;
 
 class AliHMPIDTracker : public AliTracker
 {
 public:
-           AliHMPIDTracker(); 
-  virtual ~AliHMPIDTracker()                    {}
+           AliHMPIDTracker();
+  virtual ~AliHMPIDTracker()                                            {delete fClu;}
 //framework part  
-  AliCluster *GetCluster     (Int_t                      )const  {return 0;} //pure virtual from AliTracker 
-  Bool_t      GetTrackPoint  (Int_t idx,AliTrackPoint &pt)const;             //             from AliTracker  
-  Int_t       Clusters2Tracks(AliESD *                   )       {return 0;} //pure virtual from AliTracker 
-  Int_t       LoadClusters   (TTree *pCluTr              );                  //pure virtual from AliTracker   
-  Int_t       PropagateBack  (AliESD *                   );                  //pure virtual from AliTracker invoked from AliReconstruction::RunTracking()
-  Int_t       RefitInward    (AliESD *                   )       {return 0;} //pure virtual from AliTracker 
-  void        UnloadClusters (                           )       {         } //pure virtual from AliTracker 
+         AliCluster *GetCluster     (Int_t                      )const  {return 0;} //pure virtual from AliTracker 
+         Bool_t      GetTrackPoint  (Int_t idx,AliTrackPoint &pt)const;             //             from AliTracker  
+         Int_t       Clusters2Tracks(AliESDEvent *                   )       {return 0;} //pure virtual from AliTracker 
+         Int_t       LoadClusters   (TTree *pCluTr              );                  //pure virtual from AliTracker   
+         Int_t       PropagateBack  (AliESDEvent *pEsd               );                  //pure virtual from AliTracker   
+         Int_t       RefitInward    (AliESDEvent *                   )       {return 0;} //pure virtual from AliTracker 
+         void        UnloadClusters (                           )       {         } //pure virtual from AliTracker 
+         void        FillClusterArray(TObjArray* array) const;                              //             from AliTracker 
 //private part  
-  enum ETrackingFlags {kMipDistCut=-9,kMipQdcCut=-5};
+  static Int_t       IntTrkCha     (AliESDtrack *pTrk,Float_t &xPc,Float_t &yPc,Float_t &xRa,Float_t &yRa,Float_t &theta,Float_t &phi);//find track-PC intersection, retuns chamber ID
+  static Int_t       IntTrkCha     (Int_t ch,AliHMPIDtrack *pTrk,Float_t &xPc,Float_t &yPc,Float_t &xRa,Float_t &yRa,Float_t &theta,Float_t &phi);//find track-PC intersection, retuns chamber ID
+
+         Int_t       Recon         (AliESDEvent *pEsd,TObjArray *pClus,TObjArray *pNmean=0,TObjArray *pQthre=0);//do actual job, returns status code  
+         Int_t       ReconHiddenTrk(AliESDEvent *pEsd,TObjArray *pClus,TObjArray *pNmean=0,TObjArray *pQthre=0);//do actual job with Hidden Track Algorithm    
+  
+  
 protected:
-  ClassDef(AliHMPIDTracker,0)
+ TObjArray            *fClu;                     //! each chamber holds it's one list of clusters 
+//
+private:
+  AliHMPIDTracker(const AliHMPIDTracker& r);              //dummy copy constructor
+  AliHMPIDTracker &operator=(const AliHMPIDTracker& r);   //dummy assignment operator
+//
+ClassDef(AliHMPIDTracker,0)
 };//class AliHMPIDTracker
+//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
 
 #endif//AliHMPIDTracker_h