/[PAMELA software]/PamCut/doc/Doxygen/html/classSmartCollection.html
ViewVC logotype

Annotation of /PamCut/doc/Doxygen/html/classSmartCollection.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.3 - (hide annotations) (download) (as text)
Fri Sep 25 15:41:54 2009 UTC (15 years, 7 months ago) by pam-fi
Branch: MAIN
CVS Tags: HEAD
Changes since 1.2: +0 -0 lines
File MIME type: text/html
FILE REMOVED
Removed from repository.

1 pam-fi 1.1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2     <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3     <title>PamCut: SmartCollection Class Reference</title>
4     <link href="tabs.css" rel="stylesheet" type="text/css">
5     <link href="doxygen.css" rel="stylesheet" type="text/css">
6     </head><body>
7     <!-- Generated by Doxygen 1.5.9 -->
8     <div class="navigation" id="top">
9     <div class="tabs">
10     <ul>
11     <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
12     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13     <li><a href="files.html"><span>Files</span></a></li>
14     </ul>
15     </div>
16     <div class="tabs">
17     <ul>
18     <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19     <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20     <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21     </ul>
22     </div>
23     </div>
24     <div class="contents">
25     <h1>SmartCollection Class Reference</h1><!-- doxytag: class="SmartCollection" --><!-- doxytag: inherits="PamCutCollection" -->A collection class designed to use <a class="el" href="classCollectionAction.html" title="An abstract class that defines the interface of a generic collection action.">CollectionAction</a> objects.
26     <a href="#_details">More...</a>
27     <p>
28     <code>#include &lt;<a class="el" href="SmartCollection_8h_source.html">SmartCollection.h</a>&gt;</code>
29     <p>
30     <div class="dynheader">
31     Inheritance diagram for SmartCollection:</div>
32     <div class="dynsection">
33    
34     <p><center><img src="classSmartCollection.png" usemap="#SmartCollection_map" border="0" alt=""></center>
35     <map name="SmartCollection_map">
36 pam-fi 1.2 <area href="classPamCutCollection.html" alt="PamCutCollection" shape="rect" coords="77,56,221,80">
37     <area href="classPamCut.html" alt="PamCut" shape="rect" coords="77,0,221,24">
38     <area href="classSmartBlindCollection.html" alt="SmartBlindCollection" shape="rect" coords="0,168,144,192">
39     <area href="classVerboseCollection.html" alt="VerboseCollection" shape="rect" coords="154,168,298,192">
40     <area href="classVerboseBlindCollection.html" alt="VerboseBlindCollection" shape="rect" coords="0,224,144,248">
41 pam-fi 1.1 </map>
42     </div>
43    
44     <p>
45     <a href="classSmartCollection-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
46     <tr><td></td></tr>
47     <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
48     <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSmartCollection.html#597157bb186c4688cd305b62a197009d">SmartCollection</a> (const char *collectionName)</td></tr>
49    
50     <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <a href="#597157bb186c4688cd305b62a197009d"></a><br></td></tr>
51 pam-fi 1.2 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="63fdadd219eb42065c6e9adc63558b63"></a><!-- doxytag: member="SmartCollection::~SmartCollection" ref="63fdadd219eb42065c6e9adc63558b63" args="()" -->
52     &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSmartCollection.html#63fdadd219eb42065c6e9adc63558b63">~SmartCollection</a> ()</td></tr>
53 pam-fi 1.1
54 pam-fi 1.2 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor. <br></td></tr>
55     <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9265adb168bca295f264af65276a002b"></a><!-- doxytag: member="SmartCollection::AddAction" ref="9265adb168bca295f264af65276a002b" args="(CollectionAction &amp;action)" -->
56     virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSmartCollection.html#9265adb168bca295f264af65276a002b">AddAction</a> (<a class="el" href="classCollectionAction.html">CollectionAction</a> &amp;action)</td></tr>
57 pam-fi 1.1
58 pam-fi 1.2 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds an action to the <a class="el" href="classSmartCollection.html" title="A collection class designed to use CollectionAction objects.">SmartCollection</a>. <br></td></tr>
59 pam-fi 1.1 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCollectionAction.html">CollectionAction</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSmartCollection.html#acadaf64f683e7932c376e924e7020ea">GetAction</a> (unsigned int iAction)</td></tr>
60    
61     <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the iAction-th action. <a href="#acadaf64f683e7932c376e924e7020ea"></a><br></td></tr>
62     <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSmartCollection.html#9b5b11a854b9e174218ea516ceffb34c">Setup</a> (PamLevel2 *events)</td></tr>
63    
64     <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The pre-analysis task definition. <a href="#9b5b11a854b9e174218ea516ceffb34c"></a><br></td></tr>
65     <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSmartCollection.html#8105730615ad127a482a7fb399695977">Finalize</a> ()</td></tr>
66    
67     <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The post-analysis task definition. <a href="#8105730615ad127a482a7fb399695977"></a><br></td></tr>
68 pam-fi 1.2 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSmartCollection.html#98213ec078e9b94ea70c72132757da46">ApplyCut</a> (PamLevel2 *event)</td></tr>
69 pam-fi 1.1
70 pam-fi 1.2 <tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
71     <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a80a9cf5cab3683a61b47a1145ff8f15"></a><!-- doxytag: member="SmartCollection::_actions" ref="a80a9cf5cab3683a61b47a1145ff8f15" args="" -->
72     std::vector&lt; <a class="el" href="classCollectionAction.html">CollectionAction</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>_actions</b></td></tr>
73 pam-fi 1.1
74 pam-fi 1.2 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="732af2b9a16d0c098ce90ed29e15d09f"></a><!-- doxytag: member="SmartCollection::_actionsPositions" ref="732af2b9a16d0c098ce90ed29e15d09f" args="" -->
75     std::vector&lt; unsigned int &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>_actionsPositions</b></td></tr>
76 pam-fi 1.1
77     </table>
78     <hr><a name="_details"></a><h2>Detailed Description</h2>
79     A collection class designed to use <a class="el" href="classCollectionAction.html" title="An abstract class that defines the interface of a generic collection action.">CollectionAction</a> objects.
80     <p>
81 pam-fi 1.2 The <a class="el" href="classSmartCollection.html" title="A collection class designed to use CollectionAction objects.">SmartCollection</a> class is designed to handle <a class="el" href="classCollectionAction.html" title="An abstract class that defines the interface of a generic collection action.">CollectionAction</a> objects. It holds a vector of these objects and takes care of calling Setup and Finalize for each of them at the beginning and at the end of the analysis, respectively. Actions can be added to the <a class="el" href="classSmartCollection.html" title="A collection class designed to use CollectionAction objects.">SmartCollection</a> by means of the <a class="el" href="classSmartCollection.html#9265adb168bca295f264af65276a002b" title="Adds an action to the SmartCollection.">AddAction()</a> method. If a bunch of cuts have been already added to the collection, the action will be logically placed after the cuts. The <a class="el" href="classSmartCollection.html" title="A collection class designed to use CollectionAction objects.">SmartCollection</a> will call <a class="el" href="classCollectionAction.html#077319900b1cde36b6baca9e6699ec5a" title="Routine for selected events.">CollectionAction::OnGood()</a> if the cuts preceding the actions are satisfied, and <a class="el" href="classCollectionAction.html#ef4ee9fd63c0d232e90694e068e6e339" title="Routine for discarded events.">CollectionAction::OnBad()</a> if at least one of them fails. An action will not be sensitive to cuts added to the collection after the action itself. The resulting structure is composed by bunches of cuts intertwined by actions, which are "executed" depending on the result of the bunch of cuts that precedes the action. Note that <a class="el" href="classCollectionAction.html#ef4ee9fd63c0d232e90694e068e6e339" title="Routine for discarded events.">CollectionAction::OnBad()</a> is called only for those actions at the end of the bunch where the first failed cut is: if after these actions there are other bunches of cuts and actions, they will be ignored. For example, in the sequence below:<p>
82     | cut1 | cut2 | action1 | action2 | cut3 | cut4 | action3 | ...<p>
83     action1 and action2 are executed (eg., OnGood is called for them) if cut1 and cut2 are both satisfied, then cut3 and cut4 are evaluated and if both of them are satisfied then action3 is executed. If, for example, cut 1 or cut2 fail, then OnBad is called for action1 and action2; however, cut3, cut4, action3 and all that follows are ignored. The analysis goes on with the next event. <hr><h2>Constructor &amp; Destructor Documentation</h2>
84 pam-fi 1.1 <a class="anchor" name="597157bb186c4688cd305b62a197009d"></a><!-- doxytag: member="SmartCollection::SmartCollection" ref="597157bb186c4688cd305b62a197009d" args="(const char *collectionName)" -->
85     <div class="memitem">
86     <div class="memproto">
87     <table class="memname">
88     <tr>
89     <td class="memname">SmartCollection::SmartCollection </td>
90     <td>(</td>
91     <td class="paramtype">const char *&nbsp;</td>
92     <td class="paramname"> <em>collectionName</em> </td>
93     <td>&nbsp;)&nbsp;</td>
94     <td><code> [inline]</code></td>
95     </tr>
96     </table>
97     </div>
98     <div class="memdoc">
99    
100     <p>
101     Constructor.
102     <p>
103     <dl compact><dt><b>Parameters:</b></dt><dd>
104     <table border="0" cellspacing="2" cellpadding="0">
105     <tr><td valign="top"></td><td valign="top"><em>collectionName</em>&nbsp;</td><td>The collection's name. </td></tr>
106     </table>
107     </dl>
108    
109     </div>
110     </div><p>
111     <hr><h2>Member Function Documentation</h2>
112 pam-fi 1.2 <a class="anchor" name="98213ec078e9b94ea70c72132757da46"></a><!-- doxytag: member="SmartCollection::ApplyCut" ref="98213ec078e9b94ea70c72132757da46" args="(PamLevel2 *event)" -->
113 pam-fi 1.1 <div class="memitem">
114     <div class="memproto">
115     <table class="memname">
116     <tr>
117 pam-fi 1.2 <td class="memname">int SmartCollection::ApplyCut </td>
118 pam-fi 1.1 <td>(</td>
119 pam-fi 1.2 <td class="paramtype">PamLevel2 *&nbsp;</td>
120     <td class="paramname"> <em>event</em> </td>
121 pam-fi 1.1 <td>&nbsp;)&nbsp;</td>
122     <td><code> [virtual]</code></td>
123     </tr>
124     </table>
125     </div>
126     <div class="memdoc">
127    
128     <p>
129 pam-fi 1.2 Applies the cuts and executes the actions.<p>
130     When cuts are applied, a <a class="el" href="classSmartCollection.html" title="A collection class designed to use CollectionAction objects.">SmartCollection</a> will also execute the actions at the end of the bunches of cuts.<p>
131     <dl compact><dt><b>Parameters:</b></dt><dd>
132     <table border="0" cellspacing="2" cellpadding="0">
133     <tr><td valign="top"></td><td valign="top"><em>event</em>&nbsp;</td><td>The event to analyze. </td></tr>
134     </table>
135     </dl>
136 pam-fi 1.1
137 pam-fi 1.2 <p>Reimplemented from <a class="el" href="classPamCutCollection.html#e7af429a3afef3685cbd5aa076ef96e5">PamCutCollection</a>.</p>
138 pam-fi 1.1
139 pam-fi 1.2 <p>Reimplemented in <a class="el" href="classSmartBlindCollection.html#1eb231a8a437018bfd966644c7b18ba4">SmartBlindCollection</a>.</p>
140 pam-fi 1.1
141     </div>
142     </div><p>
143     <a class="anchor" name="8105730615ad127a482a7fb399695977"></a><!-- doxytag: member="SmartCollection::Finalize" ref="8105730615ad127a482a7fb399695977" args="()" -->
144     <div class="memitem">
145     <div class="memproto">
146     <table class="memname">
147     <tr>
148     <td class="memname">void SmartCollection::Finalize </td>
149     <td>(</td>
150     <td class="paramname"> </td>
151     <td>&nbsp;)&nbsp;</td>
152     <td><code> [virtual]</code></td>
153     </tr>
154     </table>
155     </div>
156     <div class="memdoc">
157    
158     <p>
159     The post-analysis task definition.
160     <p>
161     This override of the <a class="el" href="classSmartCollection.html#8105730615ad127a482a7fb399695977" title="The post-analysis task definition.">Finalize()</a> method calls <a class="el" href="classPamCutCollection.html#15785c75fb13b998422739e741bb5c01" title="The post-analysis task definition.">PamCutCollection::Finalize()</a> and then the <a class="el" href="classSmartCollection.html#8105730615ad127a482a7fb399695977" title="The post-analysis task definition.">Finalize()</a> method of each action contained in the <a class="el" href="classSmartCollection.html" title="A collection class designed to use CollectionAction objects.">SmartCollection</a>.
162     <p>Reimplemented from <a class="el" href="classPamCutCollection.html#15785c75fb13b998422739e741bb5c01">PamCutCollection</a>.</p>
163    
164 pam-fi 1.2 <p>Reimplemented in <a class="el" href="classVerboseBlindCollection.html#43d6ea7b5ea35c5dbb342e23584b79ee">VerboseBlindCollection</a>, and <a class="el" href="classVerboseCollection.html#3fcdf28d50507d772647d4306a78f3cc">VerboseCollection</a>.</p>
165 pam-fi 1.1
166     </div>
167     </div><p>
168     <a class="anchor" name="acadaf64f683e7932c376e924e7020ea"></a><!-- doxytag: member="SmartCollection::GetAction" ref="acadaf64f683e7932c376e924e7020ea" args="(unsigned int iAction)" -->
169     <div class="memitem">
170     <div class="memproto">
171     <table class="memname">
172     <tr>
173     <td class="memname"><a class="el" href="classCollectionAction.html">CollectionAction</a> * SmartCollection::GetAction </td>
174     <td>(</td>
175     <td class="paramtype">unsigned int&nbsp;</td>
176     <td class="paramname"> <em>iAction</em> </td>
177     <td>&nbsp;)&nbsp;</td>
178     <td></td>
179     </tr>
180     </table>
181     </div>
182     <div class="memdoc">
183    
184     <p>
185     Returns the iAction-th action.
186     <p>
187     <dl compact><dt><b>Parameters:</b></dt><dd>
188     <table border="0" cellspacing="2" cellpadding="0">
189     <tr><td valign="top"></td><td valign="top"><em>iAction</em>&nbsp;</td><td>The index of the desired <a class="el" href="classCollectionAction.html" title="An abstract class that defines the interface of a generic collection action.">CollectionAction</a>, defined as the insertion order (from 0 to #actions-1, see <a class="el" href="classSmartCollection.html#9265adb168bca295f264af65276a002b" title="Adds an action to the SmartCollection.">AddAction()</a>). </td></tr>
190     </table>
191     </dl>
192     <dl class="return" compact><dt><b>Returns:</b></dt><dd>pointer to the iAction-th action; NULL if the specified action cannot be found or if no actions are present. </dd></dl>
193    
194     </div>
195     </div><p>
196     <a class="anchor" name="9b5b11a854b9e174218ea516ceffb34c"></a><!-- doxytag: member="SmartCollection::Setup" ref="9b5b11a854b9e174218ea516ceffb34c" args="(PamLevel2 *events)" -->
197     <div class="memitem">
198     <div class="memproto">
199     <table class="memname">
200     <tr>
201     <td class="memname">void SmartCollection::Setup </td>
202     <td>(</td>
203     <td class="paramtype">PamLevel2 *&nbsp;</td>
204     <td class="paramname"> <em>events</em> </td>
205     <td>&nbsp;)&nbsp;</td>
206     <td><code> [virtual]</code></td>
207     </tr>
208     </table>
209     </div>
210     <div class="memdoc">
211    
212     <p>
213     The pre-analysis task definition.
214     <p>
215     This override of the <a class="el" href="classSmartCollection.html#9b5b11a854b9e174218ea516ceffb34c" title="The pre-analysis task definition.">Setup()</a> method calls <a class="el" href="classSmartCollection.html#9b5b11a854b9e174218ea516ceffb34c" title="The pre-analysis task definition.">Setup()</a> for the base class <a class="el" href="classPamCutCollection.html" title="A class which applies a set of cuts to Pamela data.">PamCutCollection</a>, and subsequently for each action contained in the <a class="el" href="classSmartCollection.html" title="A collection class designed to use CollectionAction objects.">SmartCollection</a>.<p>
216     <dl compact><dt><b>Parameters:</b></dt><dd>
217     <table border="0" cellspacing="2" cellpadding="0">
218     <tr><td valign="top"></td><td valign="top"><em>events</em>&nbsp;</td><td>The PamLevel2 pointer to the events that will be analyzed. Used only as parameter for <a class="el" href="classCollectionAction.html#13adbcacf5e088f7979f0644a65372b4" title="The initialization routine.">CollectionAction::Setup()</a>. </td></tr>
219     </table>
220     </dl>
221    
222     <p>Reimplemented from <a class="el" href="classPamCutCollection.html#982821389af5e585688611d733b3a7b0">PamCutCollection</a>.</p>
223    
224     </div>
225     </div><p>
226     <hr>The documentation for this class was generated from the following files:<ul>
227 pam-fi 1.2 <li>Collections/SmartCollection/<a class="el" href="SmartCollection_8h_source.html">SmartCollection.h</a><li>Collections/SmartCollection/<a class="el" href="SmartCollection_8cpp.html">SmartCollection.cpp</a></ul>
228 pam-fi 1.1 </div>
229 pam-fi 1.2 <hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 15:09:04 2009 for PamCut by&nbsp;
230 pam-fi 1.1 <a href="http://www.doxygen.org/index.html">
231     <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
232     </body>
233     </html>

  ViewVC Help
Powered by ViewVC 1.1.23