00001 // $Id: TGo4FitDataRidge.h 478 2009-10-29 12:26:09Z linev $ 00002 //----------------------------------------------------------------------- 00003 // The GSI Online Offline Object Oriented (Go4) Project 00004 // Experiment Data Processing at EE department, GSI 00005 //----------------------------------------------------------------------- 00006 // Copyright (C) 2000- GSI Helmholtzzentrum für Schwerionenforschung GmbH 00007 // Planckstr. 1, 64291 Darmstadt, Germany 00008 // Contact: http://go4.gsi.de 00009 //----------------------------------------------------------------------- 00010 // This software can be used under the license agreements as stated 00011 // in Go4License.txt file which is part of the distribution. 00012 //----------------------------------------------------------------------- 00013 00014 #ifndef TGO4FITDATARIDGE_H 00015 #define TGO4FITDATARIDGE_H 00016 00017 #include "TGo4FitData.h" 00018 #include "TGo4FitSlot.h" 00019 00031 class TGo4FitDataRidge : public TGo4FitData { 00032 public: 00033 00037 TGo4FitDataRidge(); 00038 00044 TGo4FitDataRidge(const char* iName, TGo4FitData* Data = 0, Int_t SelectedAxis = 1); 00045 00049 virtual ~TGo4FitDataRidge(); 00050 00054 void SetData(TGo4FitData* iData, Bool_t Owned) { fxData.SetObject(iData,Owned); } 00055 00059 TGo4FitData* GetData() const { return dynamic_cast<TGo4FitData*> (fxData.GetObject()); } 00060 00064 void SetSelectedAxis(Int_t naxis) { fiSelectedAxis = naxis; } 00065 00069 Int_t GetSelectedAxis() { return fiSelectedAxis; } 00070 00074 TGo4FitDataIter* MakeIter(); 00075 00079 virtual void FillSlotList(TSeqCollection* list); 00080 00084 virtual void Print(Option_t* option) const; 00085 00086 protected: 00087 00091 TGo4FitSlot fxData; 00092 00096 Int_t fiSelectedAxis; 00097 00098 ClassDef(TGo4FitDataRidge,1) 00099 }; 00100 00101 // ***************************************************************************** 00102 00103 class TGo4FitDataRidgeIter : public TGo4FitDataIter { 00104 public: 00105 TGo4FitDataRidgeIter(); 00106 TGo4FitDataRidgeIter(TGo4FitDataRidge* data); 00107 ~TGo4FitDataRidgeIter(); 00108 00109 protected: 00110 virtual TGo4FitData* GetData() const { return fxData; } 00111 virtual Bool_t StartReset(); 00112 virtual Bool_t ReadCurrentPoint(); 00113 virtual Bool_t ShiftToNextPoint(); 00114 00115 private: 00116 TGo4FitDataRidge* fxData; 00117 TGo4FitDataIter* iter; 00118 TArrayD fxOwnScales; 00119 00120 ClassDef(TGo4FitDataRidgeIter,1) 00121 }; 00122 00123 #endif // TGO4FITDATARIDGE_H