--- DarthVader/TrackerLevel2/inc/TrkLevel2.h 2006/10/11 06:53:01 1.10 +++ DarthVader/TrackerLevel2/inc/TrkLevel2.h 2007/03/29 17:06:39 1.23 @@ -11,7 +11,8 @@ #include #include -#include +//#include +#include #include // z-coordinate of track state-vector reference-plane @@ -55,8 +56,11 @@ Trajectory(); Trajectory(int n); Trajectory(int n, float* pz); + ~Trajectory(){Delete();}; void Dump(); + void Delete(); + int DoTrack2(float* al); float GetLength(){float l=0; for(int i=0; iAt(ip)); return pt;}; - TrkCluster *GetClusterY(int ip){TrkCluster *pt = (TrkCluster*)(cly->At(ip)); return pt;}; - + Bool_t XGood(int ip){ return xgood[ip]> 0;}; + Bool_t YGood(int ip){ return ygood[ip]> 0;}; + + + void SetMeasure(double *xmeas, double *ymeas, double *zmeas); + void SetResolution(double *rx, double *ry); + void SetGood(int *xg, int *yg); + void LoadField(TString s); + void Fit(double pfixed, int& fail, int iprint); + void FitReset(); + void SetTrackingMode(int trackmode); + void SetPrecisionFactor(double fact); + void SetStepMin(int istepmin); + + void FillMiniStruct(cMini2track&); + void SetFromMiniStruct(cMini2track*); + + TrkCluster *GetClusterX(int ip); + TrkCluster *GetClusterY(int ip); + + Int_t GetClusterX_ID(int ip){return xgood[ip];}; + Int_t GetClusterY_ID(int ip){return ygood[ip];}; + TrkTrack* GetTrkTrack(){return this;}; friend class TrkLevel2; @@ -157,7 +179,7 @@ public: - TRef cls; + TRef cls; int plane; ///GetEntries();} ///< number of stored track + void Clear(); + void Clear(Option_t *option){Clear();}; + void Delete(); + void Set(); + + int ntrk() {return Track->GetEntries();} ///< number of stored track int nclsx(){return SingletX->GetEntries();} ///< number of x singlets int nclsy(){return SingletY->GetEntries();} ///< number of y singlets void Dump(); - void SetFromLevel2Struct(cTrkLevel2 *); - void SetFromLevel2Struct(cTrkLevel2 *, TrkLevel1 *); - void GetLevel2Struct(cTrkLevel2 *) const; + void SetFromLevel2Struct(cTrkLevel2 *, TrkLevel1 *); + void SetFromLevel2Struct(cTrkLevel2 *s2){ SetFromLevel2Struct(s2, NULL); }; + void SetFromLevel2Struct(TrkLevel1 *l1) { SetFromLevel2Struct(&level2event_, l1); }; + void SetFromLevel2Struct() { SetFromLevel2Struct(&level2event_); }; + void GetLevel2Struct(cTrkLevel2 *) const; void LoadField(TString); + float GetBX(float*); + float GetBY(float*); + float GetBZ(float*); Float_t GetZTrk(Int_t); Float_t GetXTrkLeft(){return XTRKL;}; Float_t GetXTrkRight(){return XTRKR;}; @@ -233,14 +262,14 @@ // TClonesArray *GetTracks_Chi2Sorted(); // TClonesArray *GetTracks_NFitSorted(); // TClonesArray *GetTracks(); - TRefArray *GetTracks_NFitSorted(); - TRefArray *GetTracks(){return this->GetTracks_NFitSorted();}; - + TRefArray *GetTracks_NFitSorted(); + TRefArray *GetTracks(){return this->GetTracks_NFitSorted();}; + // int GetNTracks(){return this->GetTracks()->GetEntries();} - Int_t GetNTracks(); - TrkTrack* GetTrack(int i); + Int_t GetNTracks(); + TrkTrack* GetTrack(int i); TrkTrack* GetTrackImage(int i); - + TrkLevel2* GetTrkLevel2(){return this;} TClonesArray* GetTrackArray(){return Track;};///< returns pointer to the track array