class AliKalmanTrack;
class AliCluster;
class TFile;
+class TTree;
+class AliESD;
class AliTracker : public TObject {
+
+
public:
- AliTracker() { fX=fY=fZ=0.; fSigmaX=fSigmaY=fSigmaZ=0.; fEventN=0; }
+
+ enum {kTrackInward, kTrackBack, kTrackRefit} Propagation_t;
+
+ AliTracker() { fX=fY=fZ=0.; fSigmaX=fSigmaY=fSigmaZ=0.; fEventN=0; fStoreBarrel = 1;}
virtual ~AliTracker(){}
- virtual Int_t Clusters2Tracks(const TFile *in, TFile *out)=0;
- virtual Int_t PropagateBack(const TFile *in, TFile *out)=0;
+ virtual Int_t Clusters2Tracks(AliESD *event)=0;
+ virtual Int_t PropagateBack(AliESD *event)=0;
+ virtual Int_t RefitInward(AliESD *event)=0;
void SetVertex(const Double_t *xyz, const Double_t *ers=0) {
fX=xyz[0]; fY=xyz[1]; fZ=xyz[2];
if (ers) { fSigmaX=ers[0]; fSigmaY=ers[1]; fSigmaZ=ers[2]; }
}
void SetEventNumber(Int_t ev) { fEventN=ev; }
+
+
//protected:
+ virtual Int_t LoadClusters(TTree *)=0;
+ virtual void UnloadClusters()=0;
virtual AliCluster *GetCluster(Int_t index) const=0;
virtual void UseClusters(const AliKalmanTrack *t, Int_t from=0) const;
virtual void CookLabel(AliKalmanTrack *t,Float_t wrong) const;
Double_t GetSigmaZ() const {return fSigmaZ;}
Int_t GetEventNumber() const {return fEventN;}
- static Int_t SetFieldFactor(Char_t* fileName, Bool_t closeFile = kTRUE);
+ static Int_t SetFieldFactor(const char* fileName, Bool_t closeFile = kTRUE);
static Int_t SetFieldFactor(TFile* file, Bool_t deletegAlice = kTRUE);
static Int_t SetFieldFactor();
+ Int_t IsStoringBarrel() const {return fStoreBarrel;}
+ void SetStoreBarrel(Int_t s) {fStoreBarrel = s;}
+
private:
Int_t fEventN;//event number
+ Int_t fStoreBarrel;
+
Double_t fX; //X-coordinate of the primary vertex
Double_t fY; //Y-coordinate of the primary vertex
Double_t fZ; //Z-coordinate of the primary vertex