Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

CandFitTrackSRHandle.h

Go to the documentation of this file.
00001 
00002 // $Id: CandFitTrackSRHandle.h,v 1.21 2005/12/07 14:15:55 musser Exp $
00003 //
00004 // CandFitTrackSRHandle
00005 //
00006 // CandFitTrackSRHandle is the specialized access handle to CandFitTrackSR.
00007 //
00008 // Each concrete CandHandle must define a DupHandle function.
00009 //
00010 // Author:  R. Lee 2001.03.30
00011 //
00013 
00014 #ifndef CANDFITTRACKSRHANDLE_H
00015 #define CANDFITTRACKSRHANDLE_H
00016 
00017 #include "Conventions/PlaneView.h"
00018 #include "Navigation/XxxItr.h"
00019 #include "RecoBase/CandFitTrackHandle.h"
00020 
00021 class CandFitTrackSR;
00022 class TrackClusterSR;
00023 class KalmanPlaneSR;
00024 class AlgConfig;
00025 
00026 class CandFitTrackSRHandle : public CandFitTrackHandle
00027 {
00028 
00029 public:
00030   CandFitTrackSRHandle();
00031   CandFitTrackSRHandle(const CandFitTrackSRHandle &csh);
00032   CandFitTrackSRHandle(CandFitTrackSR *cs);
00033   virtual ~CandFitTrackSRHandle();
00034   virtual CandFitTrackSRHandle *DupHandle() const;
00035 
00036   virtual void Trace(const char *c = "") const;
00037  
00038   // in general KalmanPlaneList owns objects in list, so be careful
00039   // if calling ClearKalmanPlaneList with argument 0
00040   void ClearKalmanPlaneList(Bool_t deletekp = 1);
00041   void ClearTrackClusterList();
00042   void ClearMaps(); // clears all STL maps, including fd*dZ, fPlaneChi2, fPlanePreChi2, fPlaneQP
00043 
00044 // this creates a new TrackClusterSR which is destroyed in the
00045 // CandFitTrackSR destructor
00046   void AddTrackCluster(TrackClusterSR *);
00047 
00048   TObjArray * GetPlaneList();
00049   TObjArray * GetTrackClusterList();
00050 
00051   Int_t GetKalmanLast() const;
00052   KalmanPlaneSR *GetKalmanPlane(Int_t);
00053   const KalmanPlaneSR *GetKalmanPlane(Int_t) const;
00054  void RemoveKalmanPlane(Int_t,Int_t);
00055   void CompressKalmanPlaneList();
00056   KalmanPlaneSR * AddKalmanPlaneAt(KalmanPlaneSR *,Int_t);
00057   void RemoveForward(KalmanPlaneSR *kp = 0);
00058   const KalmanPlaneSR *GetCurrentKalmanPlane(PlaneView::PlaneView_t = 
00059                                              PlaneView::kUnknown) const;
00060   KalmanPlaneSR *GetCurrentKalmanPlane(PlaneView::PlaneView_t = 
00061                                        PlaneView::kUnknown);
00062   void SetCurrentKalmanPlane(KalmanPlaneSR*);
00063   void AddUpstreamPlaneList(TObjArray*);
00064 
00065   void SetNChangedFitPoint(Int_t);
00066   void SetInitialQP(Double_t);
00067   void SetVtx(const KalmanPlaneSR *); // set vertex variables
00068   void SetEnd(const KalmanPlaneSR *); // set vertex variables
00069   void SetPlanePreChi2(Int_t,Double_t);
00070   void SetVtxExtrapolate(Int_t,PlaneView::PlaneView_t);
00071   void SetEndExtrapolate(Int_t,PlaneView::PlaneView_t); 
00072   void SetdUdZ(Int_t,Float_t);
00073   void SetdVdZ(Int_t,Float_t);
00074   Float_t GetdUdZ(Int_t) const; // du/dz at specified plane
00075   Float_t GetdVdZ(Int_t) const; // dv/dz at specified plane
00076   void SetBadFit(TrackClusterSR *);
00077   Double_t GetInitialQP() const;
00078   Int_t GetNChangedFitPoint();
00079   Bool_t GetBadFit(Int_t) const;
00080   Bool_t GetBadFit(TrackClusterSR *) const;
00081   Int_t GetNGoodFit() const;
00082   Float_t GetPlanePreChi2(Int_t) const;
00083   Int_t GetNChangedFitPoint() const;
00084   Int_t GetVtxExtrapolate(PlaneView::PlaneView_t = PlaneView::kUnknown) const;
00085   Int_t GetEndExtrapolate(PlaneView::PlaneView_t = PlaneView::kUnknown) const;
00086 
00087 
00088 private:
00089 
00090 ClassDef(CandFitTrackSRHandle,5)           // User access handle to CandFitTrackSR
00091 
00092 };
00093 
00094 XXXITRDEF(CandFitTrackSRHandle)
00095 
00096 #endif // CANDFITTRACKSRHANDLE_H

Generated on Mon Feb 15 11:06:28 2010 for loon by  doxygen 1.3.9.1