| 1 | pam-fi | 1.1 | /* | 
| 2 |  |  | * SmartBlindCollection.h | 
| 3 |  |  | * | 
| 4 |  |  | *  Created on: 16-mag-2009 | 
| 5 |  |  | *      Author: Nicola Mori | 
| 6 |  |  | */ | 
| 7 |  |  |  | 
| 8 |  |  | /*! @file SmartBlindCollection.h The SmartBlindCollection class definition file */ | 
| 9 |  |  |  | 
| 10 |  |  | #ifndef SMARTBLINDCOLLECTION_H_ | 
| 11 |  |  | #define SMARTBLINDCOLLECTION_H_ | 
| 12 |  |  |  | 
| 13 | pam-fi | 1.2 | #include "../SmartCollection/SmartCollection.h" | 
| 14 | pam-fi | 1.1 |  | 
| 15 |  |  | /*! @brief A blind collection class designed to use CollectionAction objects. | 
| 16 |  |  | * | 
| 17 |  |  | * The SmartBlindCollection class is designed to handle CollectionAction objects. These | 
| 18 | pam-fi | 1.2 | * defines the procedures to do when an event is selected or discarded. | 
| 19 |  |  | * This collection differs from SmartCollection only because it is blind, ie., it will apply | 
| 20 |  |  | * all the cuts to each events, even if some of them fail (see #BlindCutCollection to get | 
| 21 |  |  | * more info about blind collections). In current implementation, after a cut has failed, it | 
| 22 |  |  | * will call OnBad for all the actions that come after that cut, regardless if, for example, | 
| 23 |  |  | * in a certain subsequent bunch all the cuts are satisfied. | 
| 24 | pam-fi | 1.1 | */ | 
| 25 | pam-fi | 1.2 | class SmartBlindCollection: public SmartCollection { | 
| 26 | pam-fi | 1.1 |  | 
| 27 |  |  | public: | 
| 28 |  |  |  | 
| 29 |  |  | /*! @brief Constructor. | 
| 30 |  |  | * | 
| 31 |  |  | * @param collectionName The collection's name. | 
| 32 |  |  | */ | 
| 33 |  |  | SmartBlindCollection(const char* collectionName) : | 
| 34 | pam-fi | 1.2 | SmartCollection(collectionName){ | 
| 35 | pam-fi | 1.1 | } | 
| 36 |  |  |  | 
| 37 |  |  | /*! @brief Destructor. */ | 
| 38 | pam-fi | 1.2 | ~SmartBlindCollection() { | 
| 39 | pam-fi | 1.1 | } | 
| 40 |  |  |  | 
| 41 | pam-fi | 1.2 | /*! Applies the cuts and executes the actions. | 
| 42 | pam-fi | 1.1 | * | 
| 43 | pam-fi | 1.2 | * When cuts are applied, a SmartBlindCollection will also execute the actions at the end | 
| 44 |  |  | * of the bunches of cuts. | 
| 45 | pam-fi | 1.1 | * | 
| 46 | pam-fi | 1.2 | * @param event The event to analyze. | 
| 47 | pam-fi | 1.1 | */ | 
| 48 | pam-fi | 1.2 | int ApplyCut(PamLevel2 *event); | 
| 49 | pam-fi | 1.1 | }; | 
| 50 |  |  |  | 
| 51 |  |  | #endif /* SMARTBLINDCOLLECTION_H_ */ |