/[PAMELA software]/PamCut/doc/Doxygen/latex/classPamCutCollection.tex
ViewVC logotype

Contents of /PamCut/doc/Doxygen/latex/classPamCutCollection.tex

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show annotations) (download) (as text)
Wed May 27 13:30:02 2009 UTC (15 years, 9 months ago) by pam-fi
Branch: MAIN
Branch point for: DEV
File MIME type: application/x-tex
Initial revision

1 \hypertarget{classPamCutCollection}{
2 \section{PamCutCollection Class Reference}
3 \label{classPamCutCollection}\index{PamCutCollection@{PamCutCollection}}
4 }
5 A class which applies a set of cuts to Pamela data.
6
7
8 {\tt \#include $<$PamCutBase.h$>$}
9
10 Inheritance diagram for PamCutCollection::\begin{figure}[H]
11 \begin{center}
12 \leavevmode
13 \includegraphics[height=5cm]{classPamCutCollection}
14 \end{center}
15 \end{figure}
16 \subsection*{Public Member Functions}
17 \begin{CompactItemize}
18 \item
19 \hyperlink{classPamCutCollection_756d6cc1c69e85a0f76e7674789c5588}{PamCutCollection} (const char $\ast$collectionName)
20 \begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item
21 \hyperlink{classPamCutCollection_932711c5f613639091adbcd851107b0c}{$\sim$PamCutCollection} ()
22 \begin{CompactList}\small\item\em Destructor. \item\end{CompactList}\item
23 void \hyperlink{classPamCutCollection_6dc6a92a7ee9243f567a2a244e1e5685}{AddCut} (\hyperlink{classPamCut}{PamCut} \&cut)
24 \begin{CompactList}\small\item\em Adds a cut to the cut collection This routine adds a cut to the collection. These are stored in a vector in the same order they are inserted (the first cut would be element 0, the second cut element 1 and so on). All the references to a \char`\"{}cut number\char`\"{} or \char`\"{}cut index\char`\"{} will refer to this numbering scheme. \item\end{CompactList}\item
25 int \hyperlink{classPamCutCollection_85f04cef7b560a37061391dd397813a7}{Check} (PamLevel2 $\ast$event)
26 \begin{CompactList}\small\item\em The basic selection. \item\end{CompactList}\item
27 int \hyperlink{classPamCutCollection_e7af429a3afef3685cbd5aa076ef96e5}{ApplyCut} (PamLevel2 $\ast$event)
28 \begin{CompactList}\small\item\em Applies the cuts to the current event. \item\end{CompactList}\item
29 \hyperlink{classPamCut}{PamCut} $\ast$ \hyperlink{classPamCutCollection_55e41082749260f5cee2fd53d9fd331b}{GetCut} (unsigned int iCut)
30 \begin{CompactList}\small\item\em Returns a pointer to the iCut-th cut. \item\end{CompactList}\item
31 unsigned int \hyperlink{classPamCutCollection_231f91b82b18cf326a2912b0b515baca}{GetSize} ()
32 \begin{CompactList}\small\item\em The number of cuts contained in the collection. \item\end{CompactList}\item
33 void \hyperlink{classPamCutCollection_982821389af5e585688611d733b3a7b0}{Setup} (PamLevel2 $\ast$events)
34 \begin{CompactList}\small\item\em The pre-analysis task definition. \item\end{CompactList}\item
35 void \hyperlink{classPamCutCollection_15785c75fb13b998422739e741bb5c01}{Finalize} ()
36 \begin{CompactList}\small\item\em The post-analysis task definition. \item\end{CompactList}\item
37 \hyperlink{classPamCutCollection}{PamCutCollection} \& \hyperlink{classPamCutCollection_3fb36e5fb38627f5cbffe6c23cf57d2a}{operator=} (const \hyperlink{classPamCutCollection}{PamCutCollection} \&rightValue)
38 \begin{CompactList}\small\item\em Assignment operator redefinition. The assignment operator replaces the content of the LHS with that of RHS. The net effect would be that the cuts contained in the LHS are exactly the same that are in the RHS. In particular, this means that any modification to one of the cuts will propagate both to the LHS and RHS collections. Also the cut name will be copied, since the implementation invokes \hyperlink{classPamCut_cff560f2c6a663345c81f95df905956e}{PamCut::operator=}. \item\end{CompactList}\end{CompactItemize}
39 \subsection*{Protected Attributes}
40 \begin{CompactItemize}
41 \item
42 std::vector$<$ \hyperlink{classPamCut}{PamCut} $\ast$ $>$ \hyperlink{classPamCutCollection_95f91f4b81f916cb6e120ee4b5bb5403}{\_\-cuts}
43 \begin{CompactList}\small\item\em A vector containing pointers to \hyperlink{classPamCut}{PamCut} objects. \item\end{CompactList}\end{CompactItemize}
44
45
46 \subsection{Detailed Description}
47 A class which applies a set of cuts to Pamela data.
48
49 This is a multi-cut class, which inherits from \hyperlink{classPamCut}{PamCut}. Indeed, a multi-cut can be seen as a cut composed by various simpler cuts; hence the interface of \hyperlink{classPamCut}{PamCut} is also functional for \hyperlink{classPamCutCollection}{PamCutCollection}. The \hyperlink{classPamCutCollection_e7af429a3afef3685cbd5aa076ef96e5}{ApplyCut(PamLevel2 $\ast$event)} method is overridden so as all the cuts that compose the \hyperlink{classPamCutCollection}{PamCutCollection} are applied to the events in the same order they are added to the collection. Instead, \hyperlink{classPamCut_047b75499ea4457d60397ee5491adcd4}{Process(PamLevel2 $\ast$events, ULong\_\-t firstEvent, ULong\_\-t lastEvent)} is NOT overridden, since it performs the same task as the one in the base class: it is sufficient to override \hyperlink{classPamCutCollection_85f04cef7b560a37061391dd397813a7}{Check(PamLevel2 $\ast$event)} to replace the single-cut evaluation with a multi-cut evaluation.
50
51 Definition at line 171 of file PamCutBase.h.
52
53 \subsection{Constructor \& Destructor Documentation}
54 \hypertarget{classPamCutCollection_756d6cc1c69e85a0f76e7674789c5588}{
55 \index{PamCutCollection@{PamCutCollection}!PamCutCollection@{PamCutCollection}}
56 \index{PamCutCollection@{PamCutCollection}!PamCutCollection@{PamCutCollection}}
57 \subsubsection[{PamCutCollection}]{\setlength{\rightskip}{0pt plus 5cm}PamCutCollection::PamCutCollection (const char $\ast$ {\em collectionName})\hspace{0.3cm}{\tt \mbox{[}inline\mbox{]}}}}
58 \label{classPamCutCollection_756d6cc1c69e85a0f76e7674789c5588}
59
60
61 Constructor.
62
63 \begin{Desc}
64 \item[Parameters:]
65 \begin{description}
66 \item[{\em collectionName}]The collection's name. \end{description}
67 \end{Desc}
68
69
70 Definition at line 178 of file PamCutBase.h.\hypertarget{classPamCutCollection_932711c5f613639091adbcd851107b0c}{
71 \index{PamCutCollection@{PamCutCollection}!$\sim$PamCutCollection@{$\sim$PamCutCollection}}
72 \index{$\sim$PamCutCollection@{$\sim$PamCutCollection}!PamCutCollection@{PamCutCollection}}
73 \subsubsection[{$\sim$PamCutCollection}]{\setlength{\rightskip}{0pt plus 5cm}PamCutCollection::$\sim$PamCutCollection ()\hspace{0.3cm}{\tt \mbox{[}inline\mbox{]}}}}
74 \label{classPamCutCollection_932711c5f613639091adbcd851107b0c}
75
76
77 Destructor.
78
79
80
81 Definition at line 183 of file PamCutBase.h.
82
83 \subsection{Member Function Documentation}
84 \hypertarget{classPamCutCollection_6dc6a92a7ee9243f567a2a244e1e5685}{
85 \index{PamCutCollection@{PamCutCollection}!AddCut@{AddCut}}
86 \index{AddCut@{AddCut}!PamCutCollection@{PamCutCollection}}
87 \subsubsection[{AddCut}]{\setlength{\rightskip}{0pt plus 5cm}void PamCutCollection::AddCut ({\bf PamCut} \& {\em cut})}}
88 \label{classPamCutCollection_6dc6a92a7ee9243f567a2a244e1e5685}
89
90
91 Adds a cut to the cut collection This routine adds a cut to the collection. These are stored in a vector in the same order they are inserted (the first cut would be element 0, the second cut element 1 and so on). All the references to a \char`\"{}cut number\char`\"{} or \char`\"{}cut index\char`\"{} will refer to this numbering scheme.
92
93 \begin{Desc}
94 \item[Parameters:]
95 \begin{description}
96 \item[{\em cut}]The PamCut-derived object to add to the collection. \end{description}
97 \end{Desc}
98
99
100 Definition at line 74 of file PamCutBase.cpp.
101
102 References \_\-cuts.\hypertarget{classPamCutCollection_e7af429a3afef3685cbd5aa076ef96e5}{
103 \index{PamCutCollection@{PamCutCollection}!ApplyCut@{ApplyCut}}
104 \index{ApplyCut@{ApplyCut}!PamCutCollection@{PamCutCollection}}
105 \subsubsection[{ApplyCut}]{\setlength{\rightskip}{0pt plus 5cm}int PamCutCollection::ApplyCut (PamLevel2 $\ast$ {\em event})\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
106 \label{classPamCutCollection_e7af429a3afef3685cbd5aa076ef96e5}
107
108
109 Applies the cuts to the current event.
110
111 This routine works pretty much like the redefinition of \hyperlink{classPamCutCollection_85f04cef7b560a37061391dd397813a7}{Check()}, calling \hyperlink{classPamCutCollection_e7af429a3afef3685cbd5aa076ef96e5}{ApplyCut()} (instead of \hyperlink{classPamCutCollection_85f04cef7b560a37061391dd397813a7}{Check()} )for each cut. If a cut fails, it calls \hyperlink{classPamCut_cbb3b507d79f20878fac4392ffa57acb}{OnBad()}, passing the index of the failed cut as the selectionResult argument. If all the cuts are successful, it calls \hyperlink{classPamCut_56021e959232270c12528ddec3062985}{OnGood()}.
112
113 \begin{Desc}
114 \item[Parameters:]
115 \begin{description}
116 \item[{\em event}]The event to analyze. \end{description}
117 \end{Desc}
118 \begin{Desc}
119 \item[Returns:]same return values as \hyperlink{classPamCutCollection_85f04cef7b560a37061391dd397813a7}{Check()}. \end{Desc}
120
121
122 Reimplemented from \hyperlink{classPamCut_132a1a7cf365ff28eca38b7dda1acb7f}{PamCut}.
123
124 Reimplemented in \hyperlink{classBlindCutCollection_8d387de8cbc54ff0eab8cff220b49c20}{BlindCutCollection}.
125
126 Definition at line 94 of file PamCutBase.cpp.
127
128 References \_\-cuts, PamCut::\_\-nEv, PamCut::\_\-nGood, CUTOK, PamCut::OnBad(), and PamCut::OnGood().\hypertarget{classPamCutCollection_85f04cef7b560a37061391dd397813a7}{
129 \index{PamCutCollection@{PamCutCollection}!Check@{Check}}
130 \index{Check@{Check}!PamCutCollection@{PamCutCollection}}
131 \subsubsection[{Check}]{\setlength{\rightskip}{0pt plus 5cm}int PamCutCollection::Check (PamLevel2 $\ast$ {\em event})\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
132 \label{classPamCutCollection_85f04cef7b560a37061391dd397813a7}
133
134
135 The basic selection.
136
137 Like in the mother class, this method performs a basic check on the current event: it calls \hyperlink{classPamCutCollection_85f04cef7b560a37061391dd397813a7}{Check()} for each cut previously added with \hyperlink{classPamCutCollection_6dc6a92a7ee9243f567a2a244e1e5685}{AddCut()}, exiting if one of them is not satisfied.
138
139 \begin{Desc}
140 \item[Returns:]the index of the failed cut (range: \mbox{[}0, \#cuts-1\mbox{]}, see \hyperlink{classPamCutCollection_6dc6a92a7ee9243f567a2a244e1e5685}{AddCut()}); \hyperlink{CommonDefs_8h_c857f4b76ae431837cbf61fd74863b6c}{CUTOK} if the event satisfies all the cuts. \end{Desc}
141
142
143 Implements \hyperlink{classPamCut_a874600461950d1f2b75ce3938f91cbe}{PamCut}.
144
145 Reimplemented in \hyperlink{classBlindCutCollection_016ee86612e57a50f03c8469d3ed9d1f}{BlindCutCollection}.
146
147 Definition at line 78 of file PamCutBase.cpp.
148
149 References \_\-cuts, and CUTOK.\hypertarget{classPamCutCollection_15785c75fb13b998422739e741bb5c01}{
150 \index{PamCutCollection@{PamCutCollection}!Finalize@{Finalize}}
151 \index{Finalize@{Finalize}!PamCutCollection@{PamCutCollection}}
152 \subsubsection[{Finalize}]{\setlength{\rightskip}{0pt plus 5cm}void PamCutCollection::Finalize ()\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
153 \label{classPamCutCollection_15785c75fb13b998422739e741bb5c01}
154
155
156 The post-analysis task definition.
157
158 This override of the \hyperlink{classPamCutCollection_15785c75fb13b998422739e741bb5c01}{Finalize()} method calls \hyperlink{classPamCut_fd74c1565552cabe4aced316df803737}{PamCut::Finalize()} and then the \hyperlink{classPamCutCollection_15785c75fb13b998422739e741bb5c01}{Finalize()} method of each cut contained in the collection, in the same order.
159
160 Reimplemented from \hyperlink{classPamCut_fd74c1565552cabe4aced316df803737}{PamCut}.
161
162 Reimplemented in \hyperlink{classSmartBlindCollection_a78ee7b18b0913554e64b4e560453167}{SmartBlindCollection}, \hyperlink{classSmartCollection_8105730615ad127a482a7fb399695977}{SmartCollection}, \hyperlink{classVerboseBlindCollection_43d6ea7b5ea35c5dbb342e23584b79ee}{VerboseBlindCollection}, and \hyperlink{classVerboseCollection_3fcdf28d50507d772647d4306a78f3cc}{VerboseCollection}.
163
164 Definition at line 146 of file PamCutBase.cpp.
165
166 References \_\-cuts, and GetSize().\hypertarget{classPamCutCollection_55e41082749260f5cee2fd53d9fd331b}{
167 \index{PamCutCollection@{PamCutCollection}!GetCut@{GetCut}}
168 \index{GetCut@{GetCut}!PamCutCollection@{PamCutCollection}}
169 \subsubsection[{GetCut}]{\setlength{\rightskip}{0pt plus 5cm}{\bf PamCut} $\ast$ PamCutCollection::GetCut (unsigned int {\em iCut})}}
170 \label{classPamCutCollection_55e41082749260f5cee2fd53d9fd331b}
171
172
173 Returns a pointer to the iCut-th cut.
174
175 The return value of this method is a pointer to a \hyperlink{classPamCut}{PamCut} object; hence, to use the specific method of derived cuts it must be cast to the proper cut class.
176
177 \begin{Desc}
178 \item[Parameters:]
179 \begin{description}
180 \item[{\em iCut}]The cut number, defined as the insertion order (from 0 to \#cuts-1, see \hyperlink{classPamCutCollection_6dc6a92a7ee9243f567a2a244e1e5685}{AddCut()}). \end{description}
181 \end{Desc}
182 \begin{Desc}
183 \item[Returns:]pointer to the iCut-th cut; NULL if the specified cut cannot be found or if no cuts are present. \end{Desc}
184
185
186 Definition at line 116 of file PamCutBase.cpp.
187
188 References \_\-cuts.
189
190 Referenced by VerboseCollection::Finalize(), and VerboseBlindCollection::Finalize().\hypertarget{classPamCutCollection_231f91b82b18cf326a2912b0b515baca}{
191 \index{PamCutCollection@{PamCutCollection}!GetSize@{GetSize}}
192 \index{GetSize@{GetSize}!PamCutCollection@{PamCutCollection}}
193 \subsubsection[{GetSize}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int PamCutCollection::GetSize ()}}
194 \label{classPamCutCollection_231f91b82b18cf326a2912b0b515baca}
195
196
197 The number of cuts contained in the collection.
198
199 \begin{Desc}
200 \item[Returns:]The number of cuts \end{Desc}
201
202
203 Definition at line 125 of file PamCutBase.cpp.
204
205 References \_\-cuts.
206
207 Referenced by Finalize(), VerboseCollection::Finalize(), VerboseBlindCollection::Finalize(), and Setup().\hypertarget{classPamCutCollection_3fb36e5fb38627f5cbffe6c23cf57d2a}{
208 \index{PamCutCollection@{PamCutCollection}!operator=@{operator=}}
209 \index{operator=@{operator=}!PamCutCollection@{PamCutCollection}}
210 \subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}{\bf PamCutCollection} \& PamCutCollection::operator= (const {\bf PamCutCollection} \& {\em rightValue})}}
211 \label{classPamCutCollection_3fb36e5fb38627f5cbffe6c23cf57d2a}
212
213
214 Assignment operator redefinition. The assignment operator replaces the content of the LHS with that of RHS. The net effect would be that the cuts contained in the LHS are exactly the same that are in the RHS. In particular, this means that any modification to one of the cuts will propagate both to the LHS and RHS collections. Also the cut name will be copied, since the implementation invokes \hyperlink{classPamCut_cff560f2c6a663345c81f95df905956e}{PamCut::operator=}.
215
216 \begin{Desc}
217 \item[Parameters:]
218 \begin{description}
219 \item[{\em rightValue}]The RHS. \end{description}
220 \end{Desc}
221 \begin{Desc}
222 \item[Returns:]The new value for LHS. \end{Desc}
223
224
225 Definition at line 130 of file PamCutBase.cpp.
226
227 References \_\-cuts.\hypertarget{classPamCutCollection_982821389af5e585688611d733b3a7b0}{
228 \index{PamCutCollection@{PamCutCollection}!Setup@{Setup}}
229 \index{Setup@{Setup}!PamCutCollection@{PamCutCollection}}
230 \subsubsection[{Setup}]{\setlength{\rightskip}{0pt plus 5cm}void PamCutCollection::Setup (PamLevel2 $\ast$ {\em events})\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
231 \label{classPamCutCollection_982821389af5e585688611d733b3a7b0}
232
233
234 The pre-analysis task definition.
235
236 This override of the \hyperlink{classPamCutCollection_982821389af5e585688611d733b3a7b0}{Setup()} method calls \hyperlink{classPamCutCollection_982821389af5e585688611d733b3a7b0}{Setup()} for the base class \hyperlink{classPamCut}{PamCut}, and subsequently for each cut contained in the collection, in the same order the cuts were added to the collection.
237
238 \begin{Desc}
239 \item[Parameters:]
240 \begin{description}
241 \item[{\em events}]The PamLevel2 pointer to the events that will be analyzed. Unused, but required by the interface. \end{description}
242 \end{Desc}
243
244
245 Reimplemented from \hyperlink{classPamCut_e587828903b809c99f9ab5ba97ae6616}{PamCut}.
246
247 Reimplemented in \hyperlink{classSmartBlindCollection_e59d373921df00a54a8a8401a1ae2baf}{SmartBlindCollection}, and \hyperlink{classSmartCollection_9b5b11a854b9e174218ea516ceffb34c}{SmartCollection}.
248
249 Definition at line 137 of file PamCutBase.cpp.
250
251 References \_\-cuts, and GetSize().
252
253 \subsection{Member Data Documentation}
254 \hypertarget{classPamCutCollection_95f91f4b81f916cb6e120ee4b5bb5403}{
255 \index{PamCutCollection@{PamCutCollection}!\_\-cuts@{\_\-cuts}}
256 \index{\_\-cuts@{\_\-cuts}!PamCutCollection@{PamCutCollection}}
257 \subsubsection[{\_\-cuts}]{\setlength{\rightskip}{0pt plus 5cm}std::vector$<${\bf PamCut}$\ast$$>$ {\bf PamCutCollection::\_\-cuts}\hspace{0.3cm}{\tt \mbox{[}protected\mbox{]}}}}
258 \label{classPamCutCollection_95f91f4b81f916cb6e120ee4b5bb5403}
259
260
261 A vector containing pointers to \hyperlink{classPamCut}{PamCut} objects.
262
263
264
265 Definition at line 261 of file PamCutBase.h.
266
267 Referenced by AddCut(), ApplyCut(), BlindCutCollection::ApplyCut(), Check(), BlindCutCollection::Check(), Finalize(), VerboseCollection::Finalize(), VerboseBlindCollection::Finalize(), GetCut(), GetSize(), operator=(), and Setup().
268
269 The documentation for this class was generated from the following files:\begin{CompactItemize}
270 \item
271 PamCutBase/\hyperlink{PamCutBase_8h}{PamCutBase.h}\item
272 PamCutBase/\hyperlink{PamCutBase_8cpp}{PamCutBase.cpp}\end{CompactItemize}

  ViewVC Help
Powered by ViewVC 1.1.23