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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide 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 pam-fi 1.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