/[PAMELA software]/PamCut/Collections/SmartBlindCollection/SmartBlindCollection.h
ViewVC logotype

Contents of /PamCut/Collections/SmartBlindCollection/SmartBlindCollection.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.4 - (show annotations) (download)
Tue Oct 27 10:23:59 2009 UTC (15 years, 1 month ago) by pam-fi
Branch: MAIN
CVS Tags: Root_V8, MergedToHEAD_1, nuclei_reproc, MergedFromV8_1, BeforeMergingFromV8_1, V9, HEAD
Branch point for: V8
Changes since 1.3: +4 -2 lines
File MIME type: text/plain
New ownership feature added.

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

  ViewVC Help
Powered by ViewVC 1.1.23