+AliESDtrack::AliESDtrack(const AliESDtrack& track):TObject(track){
+ //
+ //copy constructor
+ //
+ fFlags = track.fFlags;
+ fLabel =track.fLabel;
+ fTrackLength =track.fTrackLength;
+ for (Int_t i=0;i<kSPECIES;i++) fTrackTime[i] =track.fTrackTime[i];
+ for (Int_t i=0;i<kSPECIES;i++) fR[i] =track.fR[i];
+ fStopVertex =track.fStopVertex;
+ //
+ fRalpha =track.fRalpha;
+ fRx =track.fRx;
+ for (Int_t i=0;i<5;i++) fRp[i] =track.fRp[i];
+ for (Int_t i=0;i<15;i++) fRc[i] =track.fRc[i];
+ //
+ fCalpha =track.fCalpha;
+ fCx =track.fCx;
+ for (Int_t i=0;i<5;i++) fCp[i] =track.fCp[i];
+ for (Int_t i=0;i<15;i++) fCc[i] =track.fCc[i];
+ fCchi2 =track.fCchi2;
+ //
+ fIalpha =track.fIalpha;
+ fIx =track.fIx;
+ for (Int_t i=0;i<5;i++) fIp[i] =track.fIp[i];
+ for (Int_t i=0;i<15;i++) fIc[i] =track.fIc[i];
+ //
+ fTalpha =track.fTalpha;
+ fTx =track.fTx;
+ for (Int_t i=0;i<5;i++) fTp[i] =track.fTp[i];
+ for (Int_t i=0;i<15;i++) fTc[i] =track.fTc[i];
+ //
+ fOalpha =track.fOalpha;
+ fOx =track.fOx;
+ for (Int_t i=0;i<5;i++) fOp[i] =track.fOp[i];
+ for (Int_t i=0;i<15;i++) fOc[i] =track.fOc[i];
+ //
+ fXalpha =track.fXalpha;
+ fXx =track.fXx;
+ for (Int_t i=0;i<5;i++) fXp[i] =track.fXp[i];
+ for (Int_t i=0;i<15;i++) fXc[i] =track.fXc[i];
+ //
+ fITSchi2 =track.fITSchi2;
+ for (Int_t i=0;i<12;i++) fITSchi2MIP[i] =track.fITSchi2MIP[i];
+ fITSncls =track.fITSncls;
+ for (Int_t i=0;i<6;i++) fITSindex[i]=track.fITSindex[i];
+ fITSsignal =track.fITSsignal;
+ for (Int_t i=0;i<kSPECIES;i++) fITSr[i]=track.fITSr[i];
+ fITSLabel =track.fITSLabel;
+ fITSFakeRatio =track.fITSFakeRatio;
+ fITStrack =0; //coping separatelly - in user code
+ //
+ fTPCchi2 =track.fTPCchi2;
+ fTPCncls =track.fTPCncls;
+ for (Int_t i=0;i<180;i++) fTPCindex[i]=track.fTPCindex[i];
+ fTPCClusterMap=track.fTPCClusterMap;
+ fTPCsignal=track.fTPCsignal;
+ for (Int_t i=0;i<kSPECIES;i++) fTPCr[i]=track.fTPCr[i];
+ fTPCLabel=track.fTPCLabel;
+ //
+ fTRDchi2=track.fTRDchi2;
+ fTRDncls=track.fTRDncls;
+ fTRDncls0=track.fTRDncls0;
+ for (Int_t i=0;i<130;i++) fTRDindex[i]=track.fTRDindex[i];
+ fTRDsignal=track.fTRDsignal;
+ for (Int_t i=0;i<kSPECIES;i++) fTRDr[i]=track.fTRDr[i];
+ fTRDLabel=track.fTRDLabel;
+ fTRDtrack=0;
+ //
+ fTOFchi2=track.fTOFchi2;
+ fTOFindex=track.fTOFindex;
+ fTOFsignal=track.fTOFsignal;
+ for (Int_t i=0;i<kSPECIES;i++) fTOFr[i]=track.fTOFr[i];
+ //
+ for (Int_t i=0;i<3;i++) fPHOSpos[i]=track.fPHOSpos[i];
+ fPHOSsignal=track.fPHOSsignal;
+ for (Int_t i=0;i<kSPECIESN;i++) fPHOSr[i]=track.fPHOSr[i];
+ //
+ for (Int_t i=0;i<3;i++) fEMCALpos[i]=track.fEMCALpos[i];
+ fEMCALsignal=track.fEMCALsignal;
+ for (Int_t i=0;i<kSPECIESN;i++) fEMCALr[i]=track.fEMCALr[i];
+ //
+ fRICHsignal=track.fRICHsignal;
+ for (Int_t i=0;i<kSPECIES;i++) fRICHr[i]=track.fRICHr[i];
+
+
+}
+//_______________________________________________________________________
+AliESDtrack::~AliESDtrack(){
+ //
+ // This is destructor according Coding Conventrions
+ //
+ //printf("Delete track\n");
+ if (fITStrack) delete fITStrack;
+ if (fTRDtrack) delete fTRDtrack;