00001 /* 00002 * SmartCollection.h 00003 * 00004 * Created on: 14-mag-2009 00005 * Author: Nicola Mori 00006 */ 00007 00010 #ifndef SMARTCOLLECTION_H_ 00011 #define SMARTCOLLECTION_H_ 00012 00013 #include "../../PamCutBase/PamCutBase.h" 00014 #include "../../CollectionActions/CollectionAction/CollectionAction.h" 00015 00026 class SmartCollection: public PamCutCollection { 00027 00028 public: 00029 00034 SmartCollection(const char* collectionName) : 00035 PamCutCollection(collectionName), _actions(0) { 00036 } 00037 00039 ~SmartCollection() { 00040 } 00041 00043 virtual void AddAction(CollectionAction& action); 00044 00051 CollectionAction *GetAction(unsigned int iAction); 00052 00061 void Setup(PamLevel2 *events); 00062 00068 void Finalize(); 00069 00077 void OnGood(PamLevel2 *event); 00078 00089 void OnBad(PamLevel2 *event, int selectionResult); 00090 00091 private: 00092 00093 std::vector<CollectionAction*> _actions; 00094 00095 }; 00096 00097 #endif /* SMARTCOLLECTION_H_ */