#include <TGo4FitSlot.h>
Public Member Functions | |
TGo4FitSlotList () | |
virtual | ~TGo4FitSlotList () |
virtual void | FillSlotList (TSeqCollection *lst) |
void | SetUpdateSlotList () |
const TObjArray * | GetSlotList (Bool_t ForceUpdate=kFALSE) |
Int_t | NumSlots () |
TGo4FitSlot * | GetSlot (Int_t nslot) |
TGo4FitSlot * | FindSlot (const char *FullSlotName) |
Bool_t | ConnectSlots (TGo4FitSlot *slot1, TGo4FitSlot *slot2) |
Bool_t | ConnectSlots (const char *Slot1FullName, const char *Slot2FullName) |
TGo4FitSlot * | SetObject (TObject *obj, Bool_t iOwned=kFALSE) |
TGo4FitSlot * | SetObject (const char *PlaceName, TObject *obj, Bool_t iOwned=kFALSE) |
TGo4FitSlot * | IsObjectInSlots (TObject *obj) |
Bool_t | CheckObjects (Bool_t MakeOut=kTRUE) |
Bool_t | IsEmptySlots () |
void | ClearObjects (const char *PlaceName=0, Bool_t NonOwned=kTRUE) |
void | ClearSlot (TGo4FitSlot *slot, Bool_t NonOwned) |
void | SetSaveFlagForObjects (Int_t iSaveFlag, const char *PlaceName=0) |
Protected Member Functions | |
void | CheckDuplicatesOnSlot () |
void | PrepareSlotsForWriting () |
ClassDef (TGo4FitSlotList, 1) | |
Protected Attributes | |
TObjArray * | fxSlotList |
Bool_t | fbUpdateSlotList |
Definition at line 253 of file TGo4FitSlot.h.
TGo4FitSlotList::TGo4FitSlotList | ( | ) |
Definition at line 239 of file TGo4FitSlot.cxx.
References fbUpdateSlotList, and fxSlotList.
TGo4FitSlotList::~TGo4FitSlotList | ( | ) | [virtual] |
Definition at line 245 of file TGo4FitSlot.cxx.
References fxSlotList.
void TGo4FitSlotList::CheckDuplicatesOnSlot | ( | ) | [protected] |
Resolve situation, when same object assigned to several slots with ownership flag.
Definition at line 472 of file TGo4FitSlot.cxx.
References TGo4FitSlot::GetObject(), TGo4FitSlot::GetOwned(), GetSlotList(), TGo4FitSlot::IsConnectedToSlot(), and TGo4FitSlot::SetOwned().
Referenced by TGo4Fitter::~TGo4Fitter().
Bool_t TGo4FitSlotList::CheckObjects | ( | Bool_t | MakeOut = kTRUE |
) |
Check, if all necessary objects are provided.
Definition at line 379 of file TGo4FitSlot.cxx.
References TGo4FitSlot::GetClass(), TGo4FitNamed::GetOwnerFullName(), GetSlotList(), and TGo4FitSlot::IsRequired().
Referenced by TGo4FitterAbstract::Initialize().
TGo4FitSlotList::ClassDef | ( | TGo4FitSlotList | , | |
1 | ||||
) | [protected] |
void TGo4FitSlotList::ClearObjects | ( | const char * | PlaceName = 0 , |
|
Bool_t | NonOwned = kTRUE | |||
) |
Clear object from slot(s), which are defined by PlaceName condition. If PlaceName==0, all slots will be clead. If NonOwned = kTRUE, only not owned objects will be cleared (pointer will be set to 0) otherwise all pointers will be cleared and owned objects will be deleted
Definition at line 412 of file TGo4FitSlot.cxx.
References ClearSlot(), TGo4FitNamed::GetFullName(), TGo4FitNamed::GetOwnerFullName(), and GetSlotList().
void TGo4FitSlotList::ClearSlot | ( | TGo4FitSlot * | slot, | |
Bool_t | NonOwned | |||
) |
Clear object in specified slot. Checks, if same object is assign to another slot. Used by ClearObjects() method.
Definition at line 428 of file TGo4FitSlot.cxx.
References TGo4FitSlot::Clear(), TGo4FitSlot::GetConnectedSlot(), TGo4FitSlot::GetObject(), TGo4FitSlot::GetOwned(), GetSlot(), TGo4FitSlot::IsConnectedToSlot(), NumSlots(), and TGo4FitSlot::SetOwned().
Referenced by TGo4Fitter::CheckSlotsBeforeDelete(), ClearObjects(), and TGo4FitPanel::ExecutePopupForSlot().
Bool_t TGo4FitSlotList::ConnectSlots | ( | const char * | Slot1FullName, | |
const char * | Slot2FullName | |||
) |
Connects first slot to second. Return kFALSE, if failed
Definition at line 301 of file TGo4FitSlot.cxx.
References ConnectSlots(), and FindSlot().
Bool_t TGo4FitSlotList::ConnectSlots | ( | TGo4FitSlot * | slot1, | |
TGo4FitSlot * | slot2 | |||
) |
Connects first slot to second. Return kFALSE, if failed
Definition at line 295 of file TGo4FitSlot.cxx.
References TGo4FitSlot::ConnectToSlot().
Referenced by BuildFitter(), and ConnectSlots().
void TGo4FitSlotList::FillSlotList | ( | TSeqCollection * | lst | ) | [virtual] |
Fill list of TGo4FitSlot objects to provided collection. This function should be implemented in every derived object, which would provide slots for outside.
Reimplemented in TGo4FitData, TGo4FitDataGraph, TGo4FitDataHistogram, TGo4FitDataProfile, TGo4FitDataRidge, TGo4FitModelFromData, and TGo4Fitter.
Definition at line 250 of file TGo4FitSlot.cxx.
Referenced by TGo4Fitter::FillSlotList(), and GetSlotList().
TGo4FitSlot * TGo4FitSlotList::FindSlot | ( | const char * | FullSlotName | ) |
Find slot in list with given full name;
Definition at line 285 of file TGo4FitSlot.cxx.
References TGo4FitNamed::GetFullName(), and GetSlotList().
Referenced by ConnectSlots().
TGo4FitSlot * TGo4FitSlotList::GetSlot | ( | Int_t | nslot | ) |
Returns slots from list with specified index
Definition at line 279 of file TGo4FitSlot.cxx.
References GetSlotList().
Referenced by TGo4FitPanel::ArrowChanged(), TGo4Fitter::CheckSlotsBeforeDelete(), TGo4FitPanel::ClearObjectReferenceInSlots(), ClearSlot(), TGo4FitComponent::CollectParsTo(), TGo4FitPanel::ExecutePopupForSlot(), TGo4FitPanel::FillPopupForSlot(), TGo4FitPanel::FindPadWhereData(), TGo4FitPanel::GetPadIndexForSlot(), TGo4FitterAbstract::ProcessObjects(), TGo4FitPanel::RemoveDrawObjects(), TGo4FitPanel::RemovePrimitives(), and TGo4FitPanel::UpdateObjectReferenceInSlots().
const TObjArray * TGo4FitSlotList::GetSlotList | ( | Bool_t | ForceUpdate = kFALSE |
) |
Return pointer in TObjArray with list of all slots in list. This list should be permanently updated in inherited class by SetUpdateSlotList() method to keep list of slots actual.
Definition at line 260 of file TGo4FitSlot.cxx.
References fbUpdateSlotList, FillSlotList(), and fxSlotList.
Referenced by CheckDuplicatesOnSlot(), CheckObjects(), ClearObjects(), FindSlot(), GetSlot(), IsEmptySlots(), IsObjectInSlots(), NumSlots(), PrepareSlotsForWriting(), SetObject(), SetSaveFlagForObjects(), and TGo4FitPanel::UpdateItem().
Bool_t TGo4FitSlotList::IsEmptySlots | ( | ) |
Return kTRUE, if there are empty slots in list.
Definition at line 399 of file TGo4FitSlot.cxx.
References GetSlotList(), and TGo4FitSlot::IsEmpty().
TGo4FitSlot * TGo4FitSlotList::IsObjectInSlots | ( | TObject * | obj | ) |
Checks, if object assign to one of slots. Return pointer on slot, to which object is assigned, otherwise 0.
Definition at line 360 of file TGo4FitSlot.cxx.
References TGo4FitSlot::GetObject(), TGo4FitSlot::GetOwned(), and GetSlotList().
Int_t TGo4FitSlotList::NumSlots | ( | ) |
Returns number of slots in list.
Definition at line 274 of file TGo4FitSlot.cxx.
References GetSlotList().
Referenced by TGo4FitPanel::ArrowChanged(), TGo4Fitter::CheckSlotsBeforeDelete(), TGo4FitPanel::ClearObjectReferenceInSlots(), ClearSlot(), TGo4FitComponent::CollectParsTo(), TGo4FitPanel::ExecutePopupForSlot(), TGo4FitPanel::FillPopupForSlot(), TGo4FitPanel::FindPadWhereData(), TGo4FitPanel::GetPadIndexForSlot(), TGo4FitterAbstract::ProcessObjects(), TGo4FitPanel::RemoveDrawObjects(), TGo4FitPanel::RemovePrimitives(), and TGo4FitPanel::UpdateObjectReferenceInSlots().
void TGo4FitSlotList::PrepareSlotsForWriting | ( | ) | [protected] |
Definition at line 488 of file TGo4FitSlot.cxx.
References TGo4FitSlot::GetObject(), TGo4FitSlot::GetOwned(), GetSlotList(), TGo4FitSlot::HasSaveSettings(), TGo4FitSlot::IsConnectedToSlot(), TGo4FitSlot::SetOwned(), TGo4FitSlot::SetSaveSettings(), and TGo4FitSlot::WillBeSaved().
TGo4FitSlot * TGo4FitSlotList::SetObject | ( | TObject * | obj, | |
Bool_t | iOwned = kFALSE | |||
) |
Set object to first suitable slot with defined ownership flag. Slot must be empty Return pointer on slot, to which object was assigned
Definition at line 306 of file TGo4FitSlot.cxx.
References GetSlotList(), TGo4FitSlot::IsEmpty(), TGo4FitSlot::IsSuitable(), and TGo4FitSlot::SetObject().
Referenced by TGo4FitData::AddAxisTrans(), Example6(), Example7(), Example9(), TGo4FitData::SetAxisTrans(), SetObject(), and TXXXCalibPar::UpdateFrom().
TGo4FitSlot * TGo4FitSlotList::SetObject | ( | const char * | PlaceName, | |
TObject * | obj, | |||
Bool_t | iOwned = kFALSE | |||
) |
Set object to first suitable slot, which have PlaceName name or owner of which has PlaceName full name with defined ownership flag. If PlaceName==0, SetObject(TObject*, Bool_t) method will be called. If only slot suits to defined condition, object in slot will be overwritten. Return pointer on slot, to which object was assigned
Definition at line 324 of file TGo4FitSlot.cxx.
References TGo4FitNamed::GetFullName(), TGo4FitNamed::GetOwnerFullName(), GetSlotList(), TGo4FitSlot::IsEmpty(), TGo4FitSlot::IsSuitable(), TGo4FitSlot::SetObject(), and SetObject().
void TGo4FitSlotList::SetSaveFlagForObjects | ( | Int_t | iSaveFlag, | |
const char * | PlaceName = 0 | |||
) |
Set save flag for object(s), assigned to fitter. If save flag set to 0, object(s) will be saved, if it owned by slot. If save flag set to 1, object(s) will be saved in any case. If save flag set to 2, object(s) will never be saved. PlaceName define exact slot name or owner name if (PlaceName==0), flag will be set for all slots in list.
Definition at line 456 of file TGo4FitSlot.cxx.
References TGo4FitNamed::GetFullName(), TGo4FitNamed::GetOwnerFullName(), GetSlotList(), and TGo4FitSlot::SetSaveFlag().
Referenced by TGo4FitPanel::CloneFitter(), and TGo4FitPanel::Cmd_SaveFitter().
void TGo4FitSlotList::SetUpdateSlotList | ( | ) |
Update internal list of slots (if exists).
Definition at line 255 of file TGo4FitSlot.cxx.
References fbUpdateSlotList.
Referenced by TGo4Fitter::AddData(), TGo4Fitter::AddModel(), TGo4Fitter::DeleteAllData(), TGo4Fitter::DeleteAllModels(), TGo4Fitter::DeleteModelsAssosiatedTo(), QFitDataWidget::NumCalibrSpin_valueChanged(), TGo4Fitter::RemoveData(), TGo4Fitter::RemoveModel(), TGo4FitModelFromData::SetDataAsModel(), and TGo4FitData::SetNumberOfTransSlots().
Bool_t TGo4FitSlotList::fbUpdateSlotList [protected] |
Definition at line 370 of file TGo4FitSlot.h.
Referenced by GetSlotList(), SetUpdateSlotList(), and TGo4FitSlotList().
TObjArray* TGo4FitSlotList::fxSlotList [protected] |
Definition at line 369 of file TGo4FitSlot.h.
Referenced by GetSlotList(), TGo4FitSlotList(), and ~TGo4FitSlotList().