1 |
/* |
2 |
* BlindCutCollection.h |
3 |
* |
4 |
* Created on: 10-mar-2009 |
5 |
* Author: Nicola Mori |
6 |
*/ |
7 |
|
8 |
/*! @file BlindCutCollection.h The BlindCutCollection class definition file */ |
9 |
|
10 |
#ifndef BLINDCUTCOLLECTION_H_ |
11 |
#define BLINDCUTCOLLECTION_H_ |
12 |
|
13 |
#include "../../PamCutBase/PamCutBase.h" |
14 |
|
15 |
/*! @brief A cut collection which applies all the cuts. |
16 |
* |
17 |
* This cut collection will apply all the cuts it contains to the |
18 |
* events, even if some of them are not satisfied. |
19 |
*/ |
20 |
class BlindCutCollection: public PamCutCollection { |
21 |
public: |
22 |
/*! @brief Constructor. */ |
23 |
BlindCutCollection(const char *cutName): PamCutCollection(cutName){ |
24 |
} |
25 |
|
26 |
/*! @brief Destructor. */ |
27 |
~BlindCutCollection() { |
28 |
} |
29 |
|
30 |
/*! @brief Checks all the cuts. |
31 |
* |
32 |
* This method checks all the cuts for the current event. It exits only after |
33 |
* all the cuts have been evaluated. Note that it doesn't call OnGood() nor OnBad(), not |
34 |
* even for the PamCut objects in the collection. |
35 |
* @return the index of the first failed cut (range: [0, \#cuts-1], see AddCut()); \ |
36 |
* #CUTOK if the event satisfies all the cuts. |
37 |
*/ |
38 |
int Check(PamLevel2 *event); |
39 |
|
40 |
/*! @brief Applies all the cuts to the current event. |
41 |
* |
42 |
* This routine works pretty much like the redefinition of Check(), calling ApplyCut() (instead of |
43 |
* Check() )for each cut. However, if a cut fails, it does not stops but continues until all the |
44 |
* cuts are evaluated. If all the cuts are successful, on exit it calls OnGood(); if a single cut |
45 |
* failed, it calls OnBad(), passing the index of the first failed cut as selectionResult. |
46 |
* |
47 |
* @param event The event to analyze. |
48 |
* @return same return values as Check(). |
49 |
*/ |
50 |
int ApplyCut(PamLevel2 *event); |
51 |
//void OnGood(PamLevel2 *event){cout << "BlindCutCollection::OnGood" << endl;} |
52 |
//void OnBad(PamLevel2 *event, int selectionResult){cout << "BlndCutCollection::OnBad, SelectionResult=" << selectionResult << endl;} |
53 |
|
54 |
}; |
55 |
|
56 |
|
57 |
|
58 |
#endif /* BLINDCUTCOLLECTION_H_ */ |