/* $Id$ */
-#include <TObjArray.h>
-#include <TFile.h>
-#include <TTree.h>
-#include <TClonesArray.h>
#include "Riostream.h"
+#include <TClonesArray.h>
+#include <TFile.h>
+#include <TObjArray.h>
+#include <TTree.h>
-#include "AliTPCclusterMI.h"
#include "AliComplexCluster.h"
-#include "AliTPCParam.h"
-#include "AliTPCClustersRow.h"
-#include "AliTPCpolyTrack.h"
-#include "TStopwatch.h"
#include "AliESD.h"
#include "AliHelix.h"
-//
#include "AliRunLoader.h"
-//
+#include "AliTPCClustersRow.h"
+#include "AliTPCParam.h"
+#include "AliTPCclusterMI.h"
+#include "AliTPCpolyTrack.h"
#include "AliTPCreco.h"
#include "AliTPCtrackerMI.h"
+#include "TStopwatch.h"
-
+#include "AliTPCReconstructor.h"
+//
ClassImp(AliTPCseed)
ClassImp(AliTPCtrackerMI)
};
Double_t AliTPCFastMath::fgFastAsin[20000];
-AliTPCFastMath gAliTPCFastMath;
+AliTPCFastMath gAliTPCFastMath; // needed to fill the LUT
AliTPCFastMath::AliTPCFastMath(){
//
fDebug =0;
fEvent =0;
}
-
+//________________________________________________________________________
+AliTPCtrackerMI::AliTPCtrackerMI(const AliTPCtrackerMI &t):
+ AliTracker(t),
+ fkNIS(t.fkNIS),
+ fkNOS(t.fkNOS)
+{
+ //------------------------------------
+ // dummy copy constructor
+ //------------------------------------------------------------------
+}
+AliTPCtrackerMI & AliTPCtrackerMI::operator=(const AliTPCtrackerMI& /*r*/){
+ //------------------------------
+ // dummy
+ //--------------------------------------------------------------
+ return *this;
+}
//_____________________________________________________________________________
AliTPCtrackerMI::~AliTPCtrackerMI() {
//------------------------------------------------------------------
const AliTPCRow * tpcrow=0;
AliTPCclusterMI * clrow =0;
+
if (sec<fkNIS*2){
tpcrow = &(fInnerSec[sec%fkNIS][row]);
- if (sec<fkNIS)
+ if (tpcrow==0) return 0;
+
+ if (sec<fkNIS) {
+ if (tpcrow->fN1<=ncl) return 0;
clrow = tpcrow->fClusters1;
- else
+ }
+ else {
+ if (tpcrow->fN2<=ncl) return 0;
clrow = tpcrow->fClusters2;
+ }
}
- else{
+ else {
tpcrow = &(fOuterSec[(sec-fkNIS*2)%fkNOS][row]);
- if (sec-2*fkNIS<fkNOS)
+ if (tpcrow==0) return 0;
+
+ if (sec-2*fkNIS<fkNOS) {
+ if (tpcrow->fN1<=ncl) return 0;
clrow = tpcrow->fClusters1;
- else
+ }
+ else {
+ if (tpcrow->fN2<=ncl) return 0;
clrow = tpcrow->fClusters2;
+ }
}
- if (tpcrow==0) return 0;
- if (tpcrow->GetN()<=ncl) return 0;
- // return (AliTPCclusterMI*)(*tpcrow)[ncl];
+
return &(clrow[ncl]);
}
}
else
{
- if (TMath::Abs(z)<(1.05*x+10)) t.fNFoundable++;
+ if (TMath::Abs(z)<(AliTPCReconstructor::GetCtgRange()*x+10)) t.fNFoundable++;
else
return 0;
}
}
else
{
- if (TMath::Abs(z)>(1.05*x+10)) t.SetClusterIndex2(row,-1);
+ if (TMath::Abs(z)>(AliTPCReconstructor::GetCtgRange()*x+10)) t.SetClusterIndex2(row,-1);
}
//calculate
}
else
{
- if (TMath::Abs(t.GetZ())<(1.05*t.GetX()+10)) t.fNFoundable++;
+ if (TMath::Abs(t.GetZ())<(AliTPCReconstructor::GetCtgRange()*t.GetX()+10)) t.fNFoundable++;
else
return 0;
}
fCurrentSigmaY2=0;
fCurrentSigmaZ2=0;
}
-
+AliTPCseed::AliTPCseed(const AliTPCseed &s):AliTPCtrack(s){
+ //---------------------
+ // dummy copy constructor
+ //-------------------------
+}
AliTPCseed::AliTPCseed(const AliTPCtrack &t):AliTPCtrack(t){
//
//copy constructor
// TMath::Abs( Int_t(iz) - iz + 0.5);
//ampc *= 1.15*(1-0.3*dy);
//ampc *= 1.15*(1-0.3*dz);
- // Float_t zfactor = (1.05-0.0004*TMath::Abs(point->GetCPoint().GetZ()));
+ // Float_t zfactor = (AliTPCReconstructor::GetCtgRange()-0.0004*TMath::Abs(point->GetCPoint().GetZ()));
//ampc *=zfactor;
}
else{