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_ */ |