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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (hide annotations) (download) (as text)
Fri Jun 5 13:15:23 2009 UTC (15 years, 6 months ago) by pam-fi
Branch: MAIN
Changes since 1.1: +42 -104 lines
File MIME type: application/x-tex
Updated.

1 pam-fi 1.1 \hypertarget{classSmartCollection}{
2     \section{SmartCollection Class Reference}
3     \label{classSmartCollection}\index{SmartCollection@{SmartCollection}}
4     }
5     A collection class designed to use \hyperlink{classCollectionAction}{CollectionAction} objects.
6    
7    
8     {\tt \#include $<$SmartCollection.h$>$}
9    
10     Inheritance diagram for SmartCollection::\begin{figure}[H]
11     \begin{center}
12     \leavevmode
13 pam-fi 1.2 \includegraphics[height=5cm]{classSmartCollection}
14 pam-fi 1.1 \end{center}
15     \end{figure}
16     \subsection*{Public Member Functions}
17     \begin{CompactItemize}
18     \item
19     \hyperlink{classSmartCollection_597157bb186c4688cd305b62a197009d}{SmartCollection} (const char $\ast$collectionName)
20     \begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item
21 pam-fi 1.2 \hypertarget{classSmartCollection_63fdadd219eb42065c6e9adc63558b63}{
22     \hyperlink{classSmartCollection_63fdadd219eb42065c6e9adc63558b63}{$\sim$SmartCollection} ()}
23     \label{classSmartCollection_63fdadd219eb42065c6e9adc63558b63}
24    
25 pam-fi 1.1 \begin{CompactList}\small\item\em Destructor. \item\end{CompactList}\item
26 pam-fi 1.2 \hypertarget{classSmartCollection_9265adb168bca295f264af65276a002b}{
27     virtual void \hyperlink{classSmartCollection_9265adb168bca295f264af65276a002b}{AddAction} (\hyperlink{classCollectionAction}{CollectionAction} \&action)}
28     \label{classSmartCollection_9265adb168bca295f264af65276a002b}
29    
30 pam-fi 1.1 \begin{CompactList}\small\item\em Adds an action to the \hyperlink{classSmartCollection}{SmartCollection}. \item\end{CompactList}\item
31     \hyperlink{classCollectionAction}{CollectionAction} $\ast$ \hyperlink{classSmartCollection_acadaf64f683e7932c376e924e7020ea}{GetAction} (unsigned int iAction)
32     \begin{CompactList}\small\item\em Returns the iAction-th action. \item\end{CompactList}\item
33     void \hyperlink{classSmartCollection_9b5b11a854b9e174218ea516ceffb34c}{Setup} (PamLevel2 $\ast$events)
34     \begin{CompactList}\small\item\em The pre-analysis task definition. \item\end{CompactList}\item
35     void \hyperlink{classSmartCollection_8105730615ad127a482a7fb399695977}{Finalize} ()
36     \begin{CompactList}\small\item\em The post-analysis task definition. \item\end{CompactList}\item
37 pam-fi 1.2 int \hyperlink{classSmartCollection_98213ec078e9b94ea70c72132757da46}{ApplyCut} (PamLevel2 $\ast$event)
38     \end{CompactItemize}
39     \subsection*{Protected Attributes}
40 pam-fi 1.1 \begin{CompactItemize}
41     \item
42 pam-fi 1.2 \hypertarget{classSmartCollection_a80a9cf5cab3683a61b47a1145ff8f15}{
43     std::vector$<$ \hyperlink{classCollectionAction}{CollectionAction} $\ast$ $>$ \textbf{\_\-actions}}
44     \label{classSmartCollection_a80a9cf5cab3683a61b47a1145ff8f15}
45    
46     \item
47     \hypertarget{classSmartCollection_732af2b9a16d0c098ce90ed29e15d09f}{
48     std::vector$<$ unsigned int $>$ \textbf{\_\-actionsPositions}}
49     \label{classSmartCollection_732af2b9a16d0c098ce90ed29e15d09f}
50    
51 pam-fi 1.1 \end{CompactItemize}
52    
53    
54     \subsection{Detailed Description}
55     A collection class designed to use \hyperlink{classCollectionAction}{CollectionAction} objects.
56    
57 pam-fi 1.2 The \hyperlink{classSmartCollection}{SmartCollection} class is designed to handle \hyperlink{classCollectionAction}{CollectionAction} 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 \hyperlink{classSmartCollection}{SmartCollection} by means of the \hyperlink{classSmartCollection_9265adb168bca295f264af65276a002b}{AddAction()} method. If a bunch of cuts have been already added to the collection, the action will be logically placed after the cuts. The \hyperlink{classSmartCollection}{SmartCollection} will call \hyperlink{classCollectionAction_077319900b1cde36b6baca9e6699ec5a}{CollectionAction::OnGood()} if the cuts preceding the actions are satisfied, and \hyperlink{classCollectionAction_ef4ee9fd63c0d232e90694e068e6e339}{CollectionAction::OnBad()} 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 \char`\"{}executed\char`\"{} depending on the result of the bunch of cuts that precedes the action. Note that \hyperlink{classCollectionAction_ef4ee9fd63c0d232e90694e068e6e339}{CollectionAction::OnBad()} 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:
58    
59     $|$ cut1 $|$ cut2 $|$ action1 $|$ action2 $|$ cut3 $|$ cut4 $|$ action3 $|$ ...
60 pam-fi 1.1
61 pam-fi 1.2 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.
62 pam-fi 1.1
63     \subsection{Constructor \& Destructor Documentation}
64     \hypertarget{classSmartCollection_597157bb186c4688cd305b62a197009d}{
65     \index{SmartCollection@{SmartCollection}!SmartCollection@{SmartCollection}}
66     \index{SmartCollection@{SmartCollection}!SmartCollection@{SmartCollection}}
67     \subsubsection[{SmartCollection}]{\setlength{\rightskip}{0pt plus 5cm}SmartCollection::SmartCollection (const char $\ast$ {\em collectionName})\hspace{0.3cm}{\tt \mbox{[}inline\mbox{]}}}}
68     \label{classSmartCollection_597157bb186c4688cd305b62a197009d}
69    
70    
71     Constructor.
72    
73     \begin{Desc}
74     \item[Parameters:]
75     \begin{description}
76     \item[{\em collectionName}]The collection's name. \end{description}
77     \end{Desc}
78    
79    
80 pam-fi 1.2 \subsection{Member Function Documentation}
81     \hypertarget{classSmartCollection_98213ec078e9b94ea70c72132757da46}{
82     \index{SmartCollection@{SmartCollection}!ApplyCut@{ApplyCut}}
83     \index{ApplyCut@{ApplyCut}!SmartCollection@{SmartCollection}}
84     \subsubsection[{ApplyCut}]{\setlength{\rightskip}{0pt plus 5cm}int SmartCollection::ApplyCut (PamLevel2 $\ast$ {\em event})\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
85     \label{classSmartCollection_98213ec078e9b94ea70c72132757da46}
86 pam-fi 1.1
87    
88 pam-fi 1.2 Applies the cuts and executes the actions.
89 pam-fi 1.1
90 pam-fi 1.2 When cuts are applied, a \hyperlink{classSmartCollection}{SmartCollection} will also execute the actions at the end of the bunches of cuts.
91 pam-fi 1.1
92 pam-fi 1.2 \begin{Desc}
93     \item[Parameters:]
94     \begin{description}
95     \item[{\em event}]The event to analyze. \end{description}
96     \end{Desc}
97 pam-fi 1.1
98    
99 pam-fi 1.2 Reimplemented from \hyperlink{classPamCutCollection_e7af429a3afef3685cbd5aa076ef96e5}{PamCutCollection}.
100 pam-fi 1.1
101 pam-fi 1.2 Reimplemented in \hyperlink{classSmartBlindCollection_1eb231a8a437018bfd966644c7b18ba4}{SmartBlindCollection}.\hypertarget{classSmartCollection_8105730615ad127a482a7fb399695977}{
102 pam-fi 1.1 \index{SmartCollection@{SmartCollection}!Finalize@{Finalize}}
103     \index{Finalize@{Finalize}!SmartCollection@{SmartCollection}}
104     \subsubsection[{Finalize}]{\setlength{\rightskip}{0pt plus 5cm}void SmartCollection::Finalize ()\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
105     \label{classSmartCollection_8105730615ad127a482a7fb399695977}
106    
107    
108     The post-analysis task definition.
109    
110     This override of the \hyperlink{classSmartCollection_8105730615ad127a482a7fb399695977}{Finalize()} method calls \hyperlink{classPamCutCollection_15785c75fb13b998422739e741bb5c01}{PamCutCollection::Finalize()} and then the \hyperlink{classSmartCollection_8105730615ad127a482a7fb399695977}{Finalize()} method of each action contained in the \hyperlink{classSmartCollection}{SmartCollection}.
111    
112     Reimplemented from \hyperlink{classPamCutCollection_15785c75fb13b998422739e741bb5c01}{PamCutCollection}.
113    
114 pam-fi 1.2 Reimplemented in \hyperlink{classVerboseBlindCollection_43d6ea7b5ea35c5dbb342e23584b79ee}{VerboseBlindCollection}, and \hyperlink{classVerboseCollection_3fcdf28d50507d772647d4306a78f3cc}{VerboseCollection}.\hypertarget{classSmartCollection_acadaf64f683e7932c376e924e7020ea}{
115 pam-fi 1.1 \index{SmartCollection@{SmartCollection}!GetAction@{GetAction}}
116     \index{GetAction@{GetAction}!SmartCollection@{SmartCollection}}
117     \subsubsection[{GetAction}]{\setlength{\rightskip}{0pt plus 5cm}{\bf CollectionAction} $\ast$ SmartCollection::GetAction (unsigned int {\em iAction})}}
118     \label{classSmartCollection_acadaf64f683e7932c376e924e7020ea}
119    
120    
121     Returns the iAction-th action.
122    
123     \begin{Desc}
124     \item[Parameters:]
125     \begin{description}
126     \item[{\em iAction}]The index of the desired \hyperlink{classCollectionAction}{CollectionAction}, defined as the insertion order (from 0 to \#actions-1, see \hyperlink{classSmartCollection_9265adb168bca295f264af65276a002b}{AddAction()}). \end{description}
127     \end{Desc}
128     \begin{Desc}
129     \item[Returns:]pointer to the iAction-th action; NULL if the specified action cannot be found or if no actions are present. \end{Desc}
130 pam-fi 1.2 \hypertarget{classSmartCollection_9b5b11a854b9e174218ea516ceffb34c}{
131 pam-fi 1.1 \index{SmartCollection@{SmartCollection}!Setup@{Setup}}
132     \index{Setup@{Setup}!SmartCollection@{SmartCollection}}
133     \subsubsection[{Setup}]{\setlength{\rightskip}{0pt plus 5cm}void SmartCollection::Setup (PamLevel2 $\ast$ {\em events})\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
134     \label{classSmartCollection_9b5b11a854b9e174218ea516ceffb34c}
135    
136    
137     The pre-analysis task definition.
138    
139     This override of the \hyperlink{classSmartCollection_9b5b11a854b9e174218ea516ceffb34c}{Setup()} method calls \hyperlink{classSmartCollection_9b5b11a854b9e174218ea516ceffb34c}{Setup()} for the base class \hyperlink{classPamCutCollection}{PamCutCollection}, and subsequently for each action contained in the \hyperlink{classSmartCollection}{SmartCollection}.
140    
141     \begin{Desc}
142     \item[Parameters:]
143     \begin{description}
144     \item[{\em events}]The PamLevel2 pointer to the events that will be analyzed. Used only as parameter for \hyperlink{classCollectionAction_13adbcacf5e088f7979f0644a65372b4}{CollectionAction::Setup()}. \end{description}
145     \end{Desc}
146    
147    
148     Reimplemented from \hyperlink{classPamCutCollection_982821389af5e585688611d733b3a7b0}{PamCutCollection}.
149    
150     The documentation for this class was generated from the following files:\begin{CompactItemize}
151     \item
152     Collections/SmartCollection/\hyperlink{SmartCollection_8h}{SmartCollection.h}\item
153     Collections/SmartCollection/\hyperlink{SmartCollection_8cpp}{SmartCollection.cpp}\end{CompactItemize}

  ViewVC Help
Powered by ViewVC 1.1.23