00001 00018 #include "jbltools/sfh/SFCutROList.h" 00019 #include "jbltools/sfh/BaseCutPoR.h" 00020 #include "jbltools/sfh/BaseCutBase.h" 00021 #include "jbltools/sfh/FillIterator.h" 00022 00023 #include <iostream> 00024 00025 static const char *ident="@(#)$Id"; 00026 00027 SFCutROList::SFCutROList () 00028 : cut(0) 00029 {} 00030 00031 SFCutROList::SFCutROList (const ROListPoR& mother) 00032 : SFROList (mother), 00033 cut (0) 00034 {} 00035 00036 void SFCutROList::Fill () { 00037 if (!cut || (*cut)()) SFROList::Fill(); 00038 } 00039 00040 SFCutROList::~SFCutROList () 00041 {} 00042 00043 BaseCut *SFCutROList::getCut() { 00044 return cut; 00045 } 00046 00047 const BaseCut *SFCutROList::getCut() const { 00048 return cut; 00049 } 00050 00051 SFCutROList& SFCutROList::setCut (const BaseCutPoR& newcut) { 00052 if (newcut.pbc && newcut.pbc->getIterator()) { 00053 std::cerr << "SFCutROList::setCut: cut " << cut->getName() 00054 << " depends on iterator " << cut->getIterator()->getName() 00055 << " => will be ignored!\n"; 00056 } 00057 else { 00058 cut = newcut.pbc; 00059 } 00060 return *this; 00061 }