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

Annotation of /PamCut/Collections/MaskedCollection/MaskedCollection.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations) (download)
Mon Sep 5 12:58:34 2011 UTC (13 years, 2 months ago) by pam-fi
Branch: MAIN
CVS Tags: V9, HEAD
File MIME type: text/plain
Added to repository.

1 pam-fi 1.1 /*
2     * MaskedCollection.h
3     *
4     * Created on: 19-apr-2011
5     * Author: Nicola Mori
6     */
7    
8     /*! @file MaskedCollection.h The MaskedCollection class definition file */
9    
10     #ifndef MASKEDCOLLECTION_H_
11     #define MASKEDCOLLECTION_H_
12    
13     #include "../../../PamCut/Collections/VerboseCollection/VerboseCollection.h"
14    
15     /*! @brief A collection which can use inverse cuts.
16     *
17     * This collection allow to define a flag for each cut which inverts the result of the cut.
18     * This can be useful to select events that does NOT fulfill some constraints.
19     */
20     class MaskedCollection: public VerboseCollection {
21    
22     public:
23    
24     /*! @brief Constructor.
25     *
26     * @param collectionName The collection's name.
27     * @param owns If true, the collection will own the cuts and the actions, ie., it will
28     * destroy them in its destructor.
29     */
30     MaskedCollection(const char *collectionName, bool owns = true) :
31     VerboseCollection(collectionName, owns), _mask(0) {
32     }
33    
34     /*! @brief Destructor. */
35     ~MaskedCollection() {
36     }
37    
38     /*! @brief Adds a cut.
39     *
40     * A cut added with this method will work as defined.
41     * @param cut The pointer to a PamCut-derived object to add to the collection.
42     */
43     void AddCut(PamCut *cut);
44    
45     /*! @brief Adds an inverse cut.
46     *
47     * A cut added with this method will work in the inverse way: it will discard an event if
48     * the event satisfy the cut's selection criteria.
49     * @param cut The pointer to a PamCut-derived object to add to the collection.
50     */
51     void AddInverseCut(PamCut *cut);
52    
53     /*! @brief Applies the cuts to the event, taking into account the inversion mask.
54     *
55     * @param event The event to analyze.
56     * @return CUTOK if the event satisfy each masked cut.
57     */
58     int ApplyCut(PamLevel2 *event);
59    
60     private:
61     vector<bool> _mask;
62    
63     };
64    
65     #endif /* MASKEDCOLLECTION_H_ */

  ViewVC Help
Powered by ViewVC 1.1.23