ROOT logo
/**************************************************************************  
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *  
 *                                                                        *  
 * Author: The ALICE Off-line Project.                                    *  
 * Contributors are mentioned in the code where appropriate.              *  
 *                                                                        *  
 * Permission to use, copy, modify and distribute this software and its   *  
 * documentation strictly for non-commercial purposes is hereby granted   *  
 * without fee, provided that the above copyright notice appears in all   *  
 * copies and that both the copyright notice and this permission notice   *  
 * appear in the supporting documentation. The authors make no claims     *  
 * about the suitability of this software for any purpose. It is          *  
 * provided "as is" without express or implied warranty.                  *  
 **************************************************************************/
//
//comment
//comment
//comment
//comment
//comment
//
//
//  Xianguo Lu 
//  lu@physi.uni-heidelberg.de
//  Xianguo.Lu@cern.ch
//


#ifndef ALIESDCOSMICTRACK_H
#define ALIESDCOSMICTRACK_H

#ifndef TVECTOR3_H
#include "TVector3.h"
#endif

class AliESDCosmicTrack: public AliExternalTrackParam
{
 public:
  AliESDCosmicTrack();
  AliESDCosmicTrack(const Int_t idUp, const Int_t idLow, const AliExternalTrackParam * trkparUp, const AliExternalTrackParam * trkparLow, const AliExternalTrackParam * parx0Up, const AliExternalTrackParam * parx0Low, const Int_t ncls, const Double_t la, const Double_t chi2, const Double_t vd, const Double_t vz, const Bool_t isreuse, const Double_t findable, const TVector3 innerclusterupper, const TVector3 innerclusterlower);
  AliESDCosmicTrack(const AliESDCosmicTrack & costrk);
  AliESDCosmicTrack &operator=(const AliESDCosmicTrack & costrk);

  virtual ~AliESDCosmicTrack();

  const AliExternalTrackParam * GetLowerPartner() const {return fLowerTrackParam;}
  const AliExternalTrackParam * GetESDUpperTrackParamAt0() const {return fX0UpperTrackParam;}
  const AliExternalTrackParam * GetESDLowerTrackParamAt0() const {return fX0LowerTrackParam;}
  const TVector3* GetInnerClusterUpper()const{return fInnerClusterUpper;}
  const TVector3* GetInnerClusterLower()const{return fInnerClusterLower;}

  Int_t GetESDUpperTrackIndex() const {return fESDtrackIndex[0];}
  Int_t GetESDLowerTrackIndex() const {return fESDtrackIndex[1];}

  Int_t GetNCluster() const {return fNCluster;}
  Double_t GetLeverArm() const {return fLeverArm;}
  Double_t GetChi2PerCluster() const {return fChi2PerCluster;}
  Double_t GetImpactD() const {return fImpactD;}
  Double_t GetImpactZ() const {return fImpactZ;}
  Bool_t IsReuse() const{return fIsReuse;}
  Double_t GetMinFindableRatio()const{return fFindableRatio;}

 private:
  AliExternalTrackParam *fLowerTrackParam;                     //trackparameter estimated at lower-outer part of TPC
  AliExternalTrackParam *fX0UpperTrackParam;                   //ESD upper trackparam at X=0
  AliExternalTrackParam *fX0LowerTrackParam;                   //ESD lower trackparam at X=0
  TVector3 *fInnerClusterUpper;                                 //innermost TPC cluster, upper
  TVector3 *fInnerClusterLower;                                //innermost TPC cluster, lower

  Int_t fESDtrackIndex[2];                                    //[0]= ESD track for this object; [1]= ESD track for LowerTrackParma

  Int_t fNCluster;                                            //number of cls used in fit
  Double_t fLeverArm;                                         //lever arm
  Double_t fChi2PerCluster;                                   //chi2/ncls
  Double_t fImpactD;                                          //2d impact parameter
  Double_t fImpactZ;                                          //z of impact parameter
  Bool_t fIsReuse;                                            //true if one of the track from the pair already used in previous pair
  Double_t fFindableRatio;                                    //min of TPC ncls/nfindablecls of the two tracks

  ClassDef(AliESDCosmicTrack, 1); //0: only data members derived from AliExternalTrackParam are saved in tree; 1: all are saved!!
};

#endif


 AliESDCosmicTrack.h:1
 AliESDCosmicTrack.h:2
 AliESDCosmicTrack.h:3
 AliESDCosmicTrack.h:4
 AliESDCosmicTrack.h:5
 AliESDCosmicTrack.h:6
 AliESDCosmicTrack.h:7
 AliESDCosmicTrack.h:8
 AliESDCosmicTrack.h:9
 AliESDCosmicTrack.h:10
 AliESDCosmicTrack.h:11
 AliESDCosmicTrack.h:12
 AliESDCosmicTrack.h:13
 AliESDCosmicTrack.h:14
 AliESDCosmicTrack.h:15
 AliESDCosmicTrack.h:16
 AliESDCosmicTrack.h:17
 AliESDCosmicTrack.h:18
 AliESDCosmicTrack.h:19
 AliESDCosmicTrack.h:20
 AliESDCosmicTrack.h:21
 AliESDCosmicTrack.h:22
 AliESDCosmicTrack.h:23
 AliESDCosmicTrack.h:24
 AliESDCosmicTrack.h:25
 AliESDCosmicTrack.h:26
 AliESDCosmicTrack.h:27
 AliESDCosmicTrack.h:28
 AliESDCosmicTrack.h:29
 AliESDCosmicTrack.h:30
 AliESDCosmicTrack.h:31
 AliESDCosmicTrack.h:32
 AliESDCosmicTrack.h:33
 AliESDCosmicTrack.h:34
 AliESDCosmicTrack.h:35
 AliESDCosmicTrack.h:36
 AliESDCosmicTrack.h:37
 AliESDCosmicTrack.h:38
 AliESDCosmicTrack.h:39
 AliESDCosmicTrack.h:40
 AliESDCosmicTrack.h:41
 AliESDCosmicTrack.h:42
 AliESDCosmicTrack.h:43
 AliESDCosmicTrack.h:44
 AliESDCosmicTrack.h:45
 AliESDCosmicTrack.h:46
 AliESDCosmicTrack.h:47
 AliESDCosmicTrack.h:48
 AliESDCosmicTrack.h:49
 AliESDCosmicTrack.h:50
 AliESDCosmicTrack.h:51
 AliESDCosmicTrack.h:52
 AliESDCosmicTrack.h:53
 AliESDCosmicTrack.h:54
 AliESDCosmicTrack.h:55
 AliESDCosmicTrack.h:56
 AliESDCosmicTrack.h:57
 AliESDCosmicTrack.h:58
 AliESDCosmicTrack.h:59
 AliESDCosmicTrack.h:60
 AliESDCosmicTrack.h:61
 AliESDCosmicTrack.h:62
 AliESDCosmicTrack.h:63
 AliESDCosmicTrack.h:64
 AliESDCosmicTrack.h:65
 AliESDCosmicTrack.h:66
 AliESDCosmicTrack.h:67
 AliESDCosmicTrack.h:68
 AliESDCosmicTrack.h:69
 AliESDCosmicTrack.h:70
 AliESDCosmicTrack.h:71
 AliESDCosmicTrack.h:72
 AliESDCosmicTrack.h:73
 AliESDCosmicTrack.h:74
 AliESDCosmicTrack.h:75
 AliESDCosmicTrack.h:76
 AliESDCosmicTrack.h:77
 AliESDCosmicTrack.h:78
 AliESDCosmicTrack.h:79
 AliESDCosmicTrack.h:80
 AliESDCosmicTrack.h:81
 AliESDCosmicTrack.h:82
 AliESDCosmicTrack.h:83
 AliESDCosmicTrack.h:84
 AliESDCosmicTrack.h:85