*****************************************************************************/
#include "RooFit.h"
#include "RooSharedPropertiesList.h"
#include "RooSharedProperties.h"
#include "TIterator.h"
#include <iostream>
using std::cout ;
using std::endl ;
ClassImp(RooSharedPropertiesList)
;
RooSharedPropertiesList::RooSharedPropertiesList()
{
}
RooSharedPropertiesList::~RooSharedPropertiesList()
{
TIterator* iter = _propList.MakeIterator() ;
RooSharedProperties* prop ;
while((prop=(RooSharedProperties*)iter->Next())) {
delete prop ;
}
delete iter ;
}
RooSharedProperties* RooSharedPropertiesList::registerProperties(RooSharedProperties* prop)
{
if (prop==0) {
cout << "RooSharedPropertiesList::ERROR null pointer!:" << endl ;
return 0 ;
}
TIterator* iter = _propList.MakeIterator() ;
RooSharedProperties* tmp ;
while((tmp=(RooSharedProperties*)iter->Next())) {
if (*tmp==*prop && tmp != prop) {
delete prop ;
_propList.Add(tmp) ;
delete iter ;
return tmp ;
}
}
delete iter ;
_propList.Add(prop) ;
return prop ;
}
void RooSharedPropertiesList::unregisterProperties(RooSharedProperties* prop)
{
_propList.Remove(prop) ;
if (_propList.refCount(prop)==0) {
delete prop ;
}
}
ROOT page - Class index - Class Hierarchy - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.