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 |
#include "../SmartCollection/SmartCollection.h" |
14 |
|
15 |
/*! @brief A blind collection class designed to use CollectionAction objects. |
16 |
* |
17 |
* The SmartBlindCollection class is designed to handle CollectionAction objects. These |
18 |
* 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 (also the ones at the end of |
23 |
* successive bunches), regardless if, for example, in a certain subsequent bunch all the |
24 |
* cuts are satisfied. |
25 |
*/ |
26 |
class SmartBlindCollection: public SmartCollection { |
27 |
|
28 |
public: |
29 |
|
30 |
/*! @brief Constructor. |
31 |
* |
32 |
* @param collectionName The collection's name. |
33 |
* @param owns If true, the collection will own the cuts and the actions, ie., it will |
34 |
* destroy them in its destructor. |
35 |
*/ |
36 |
SmartBlindCollection(const char* collectionName, bool owns = true) : |
37 |
SmartCollection(collectionName, owns) { |
38 |
} |
39 |
|
40 |
/*! @brief Destructor. */ |
41 |
~SmartBlindCollection() { |
42 |
} |
43 |
|
44 |
/*! Applies the cuts and executes the actions. |
45 |
* |
46 |
* When cuts are applied, a SmartBlindCollection will also execute the actions at the end |
47 |
* of the bunches of cuts. |
48 |
* |
49 |
* @param event The event to analyze. |
50 |
*/ |
51 |
int ApplyCut(PamLevel2 *event); |
52 |
}; |
53 |
|
54 |
#endif /* SMARTBLINDCOLLECTION_H_ */ |