kOwner = BIT(14) // owner of clusters
,kRemoveContainers = BIT(15) // delete containers after usage
};
- enum{
+ enum ETRDtrackerV1const {
kMaxLayersPerSector = 1000
, kMaxTimeBinIndex = 216
, kTrackingSectors = 18
, kMaxTracksStack = 100
, kNConfigs = 15
};
- AliTRDtrackerV1(AliTRDReconstructor *rec = NULL);
+ enum ETRDtrackerV1BetheBloch {
+ kGeant = 0
+ ,kSolid
+ ,kGas
+ };
+ AliTRDtrackerV1(const AliTRDReconstructor *rec = NULL);
virtual ~AliTRDtrackerV1();
//temporary
AliTRDtrackingSector* GetTrackingSector(Int_t sec) {return &fTrSec[sec];}
Int_t Clusters2Tracks(AliESDEvent *esd);
+ static ETRDtrackerV1BetheBloch
+ GetBetheBloch() { return fgBB;}
AliCluster* GetCluster(Int_t index) const;
AliTRDseedV1* GetTracklet(Int_t index) const;
AliKalmanTrack* GetTrack(Int_t index) const;
Bool_t IsClustersOwner() const { return TestBit(kOwner);}
Bool_t HasRemoveContainers() const { return TestBit(kRemoveContainers);}
+
+ static void SetBetheBloch(ETRDtrackerV1BetheBloch bb) {fgBB = bb;}
void SetClustersOwner(Bool_t own=kTRUE) {SetBit(kOwner, own); if(!own) fClusters = NULL;}
void SetRemoveContainers(Bool_t rm=kTRUE) {SetBit(kRemoveContainers, rm);}
private:
AliTRDtrackFitterRieman(const AliTRDtrackFitterRieman &);
AliTRDtrackFitterRieman &operator=(const AliTRDtrackFitterRieman &);
- void UpdateFitters(AliTRDseedV1 * const tracklet);
+ void UpdateFitters(const AliTRDseedV1 * const tracklet);
Bool_t CheckAcceptable(Double_t offset, Double_t slope);
Double_t CalculateReferenceX();
static Float_t CalculateChi2Z(const AliTRDseedV1 *tracklets, Double_t offset, Double_t slope, Double_t xref);
Int_t Clusters2TracksSM(Int_t sector, AliESDEvent *esd);
Int_t Clusters2TracksStack(AliTRDtrackingChamber **stack, TClonesArray * const esdTrackList);
- AliTRDseedV1* GetTracklet(AliTRDtrackV1 *const trk, Int_t plane, Int_t &idx);
+ AliTRDseedV1* GetTracklet(const AliTRDtrackV1 *const trk, Int_t plane, Int_t &idx);
Bool_t GetTrackPoint(Int_t index, AliTrackPoint &p) const;
Float_t GetR4Layer(Int_t ly) const { return fR[ly];}
Int_t MakeSeeds(AliTRDtrackingChamber **stack, AliTRDseedV1 * const sseed, const Int_t * const ipar);
AliTRDchamberTimeBin *fSeedTB[kNSeedPlanes]; // seeding time bin planes
Int_t fSieveSeeding; //! Seeding iterator
Int_t fEventInFile; //! event in file being tracked (debug purposes)
-
+
+ static ETRDtrackerV1BetheBloch fgBB; // Bethe Bloch method
static const Double_t fgkX0[kNPlanes]; // default values for the position of anode wire
static Int_t fgNTimeBins; // Timebins per plane in track prolongation
static TLinearFitter *fgTiltedRieman; // Fitter for the tilted Rieman fit without vertex constriant