#include <AliKalmanTrack.h>
#include "AliITSRecoParam.h"
#include "AliITSgeomTGeo.h"
+#include "AliESDtrack.h"
/* $Id$ */
-class AliESDtrack;
class AliESDVertex;
class AliTracker;
class AliITStrackV2 : public AliKalmanTrack {
public:
AliITStrackV2();
- AliITStrackV2(AliESDtrack& t,Bool_t c=kFALSE) throw (const Char_t *);
+ AliITStrackV2(AliESDtrack& t,Bool_t c=kFALSE);
AliITStrackV2(const AliITStrackV2& t);
~AliITStrackV2(){fESDtrack=0;}
Bool_t Propagate(Double_t xr) { return Propagate(GetAlpha(),xr); }
Bool_t MeanBudgetToPrimVertex(Double_t xyz[3], Double_t step, Double_t &d) const;
Bool_t Improve(Double_t x0,Double_t xyz[3],Double_t ers[3]);
-
+ Bool_t ImproveKalman(Double_t xyz[3],Double_t ers[3], const Double_t* xlMS, const Double_t* x2X0MS, Int_t nMS);
void SetdEdx(Double_t dedx) {fdEdx=dedx;}
void SetSampledEdx(Float_t q, Int_t i);
Float_t GetSampledEdx(Int_t i) const {return fdEdxSample[i];}
void UpdateESDtrack(ULong_t flags) const;
AliESDtrack *GetESDtrack() const {return fESDtrack;}
+ virtual ULong_t GetStatus() const {
+ if(fESDtrack){return fESDtrack->GetStatus();}
+ else { AliWarning("null ESD track pointer - status 0"); return 0;} }
Int_t GetDetectorIndex() const {return GetLabel();}
Double_t GetdEdx() const {return fdEdx;}
Int_t GetModuleIndex(Int_t ilayer) const {return fModule[ilayer];}
void SetModuleIndexInfo(Int_t ilayer,Int_t idet,Int_t status=1,Float_t xloc=0,Float_t zloc=0);
Bool_t GetModuleIndexInfo(Int_t ilayer,Int_t &idet,Int_t &status,Float_t &xloc,Float_t &zloc) const;
+ void SetSharedWeight(Int_t ilayer,Float_t w) {fSharedWeight[ilayer]=w;}
+ Float_t GetSharedWeight(Int_t ilayer) const {return fSharedWeight[ilayer];}
Bool_t Invariant() const;
void SetExtraCluster(Int_t ilayer, Int_t idx) {fIndex[AliITSgeomTGeo::kNLayers+ilayer]=idx;}
Int_t fModule[2*AliITSgeomTGeo::kNLayers]; // indices of crossed modules:
// see SetModuleIndexInfo()
+
+ Float_t fSharedWeight[AliITSgeomTGeo::kNLayers]; // probability of sharing
+
AliESDtrack *fESDtrack; //! pointer to the connected ESD track
private:
AliITStrackV2 &operator=(const AliITStrackV2 &tr);
- ClassDef(AliITStrackV2,8) //ITS reconstructed track
+ ClassDef(AliITStrackV2,9) //ITS reconstructed track
};
inline void AliITStrackV2::SetSampledEdx(Float_t q, Int_t i) {