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: PamCutBase/PamCutBase.h Source File</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 Page</span></a></li> |
12 |
|
|
<li><a href="annotated.html"><span>Classes</span></a></li> |
13 |
|
|
<li class="current"><a href="files.html"><span>Files</span></a></li> |
14 |
|
|
</ul> |
15 |
|
|
</div> |
16 |
|
|
<div class="tabs"> |
17 |
|
|
<ul> |
18 |
|
|
<li><a href="files.html"><span>File List</span></a></li> |
19 |
|
|
<li><a href="globals.html"><span>File Members</span></a></li> |
20 |
|
|
</ul> |
21 |
|
|
</div> |
22 |
|
|
<h1>PamCutBase/PamCutBase.h</h1><a href="PamCutBase_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span> |
23 |
|
|
<a name="l00002"></a>00002 <span class="comment"> * PamCutBase.h</span> |
24 |
|
|
<a name="l00003"></a>00003 <span class="comment"> *</span> |
25 |
|
|
<a name="l00004"></a>00004 <span class="comment"> * Created on: 6-feb-2009</span> |
26 |
|
|
<a name="l00005"></a>00005 <span class="comment"> * Author: Nicola Mori</span> |
27 |
|
|
<a name="l00006"></a>00006 <span class="comment"> */</span> |
28 |
|
|
<a name="l00007"></a>00007 |
29 |
|
|
<a name="l00010"></a>00010 <span class="preprocessor">#ifndef PAMCUTBASE_H_</span> |
30 |
|
|
<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define PAMCUTBASE_H_</span> |
31 |
|
|
<a name="l00012"></a>00012 <span class="preprocessor"></span> |
32 |
|
|
<a name="l00013"></a>00013 <span class="preprocessor">#include <PamLevel2.h></span> |
33 |
|
|
<a name="l00014"></a>00014 <span class="preprocessor">#include "../CommonDefs.h"</span> |
34 |
|
|
<a name="l00015"></a>00015 |
35 |
|
|
<a name="l00016"></a>00016 <span class="keyword">using namespace </span>std; |
36 |
|
|
<a name="l00017"></a>00017 |
37 |
|
|
<a name="l00022"></a><a class="code" href="classPamCut.html">00022</a> <span class="keyword">class </span><a class="code" href="classPamCut.html" title="An abstract class to apply cuts to Pamela data.">PamCut</a> { |
38 |
|
|
<a name="l00023"></a>00023 <span class="keyword">public</span>: |
39 |
|
|
<a name="l00024"></a>00024 |
40 |
|
|
<a name="l00026"></a><a class="code" href="classPamCut.html#a8192c75b3fe95687f6835100d6ee8b9">00026</a> <a class="code" href="classPamCut.html#a8192c75b3fe95687f6835100d6ee8b9" title="Constructor.">PamCut</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *cutName) : |
41 |
|
|
<a name="l00027"></a>00027 <a class="code" href="classPamCut.html#1eb606f9dab9c7f2fd5d84f834dcf146">_cutName</a>(cutName), <a class="code" href="classPamCut.html#0525bd3c71dbd445f817c163d56562d5" title="The number of analyzed events.">_nEv</a>(0), <a class="code" href="classPamCut.html#eacb32030a52b4353861159e3ca098d0" title="The number of good events.">_nGood</a>(0) { |
42 |
|
|
<a name="l00028"></a>00028 } |
43 |
|
|
<a name="l00029"></a>00029 |
44 |
|
|
<a name="l00031"></a><a class="code" href="classPamCut.html#8a6fb3b6ff60cd514fed53c7a9044790">00031</a> <span class="keyword">virtual</span> <a class="code" href="classPamCut.html#8a6fb3b6ff60cd514fed53c7a9044790" title="Destructor.">~PamCut</a>() { |
45 |
|
|
<a name="l00032"></a>00032 } |
46 |
|
|
<a name="l00033"></a>00033 |
47 |
|
|
<a name="l00044"></a>00044 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classPamCut.html#a874600461950d1f2b75ce3938f91cbe" title="The basic event check.">Check</a>(PamLevel2 *event) = 0; |
48 |
|
|
<a name="l00045"></a>00045 |
49 |
|
|
<a name="l00055"></a>00055 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classPamCut.html#132a1a7cf365ff28eca38b7dda1acb7f" title="Applies the cut to the current event.">ApplyCut</a>(PamLevel2 *event); |
50 |
|
|
<a name="l00056"></a>00056 |
51 |
|
|
<a name="l00067"></a>00067 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPamCut.html#047b75499ea4457d60397ee5491adcd4" title="Applies the cut to a range of events.">Process</a>(PamLevel2 *events, ULong_t firstEvent, ULong_t lastEvent); |
52 |
|
|
<a name="l00068"></a>00068 |
53 |
|
|
<a name="l00076"></a><a class="code" href="classPamCut.html#56021e959232270c12528ddec3062985">00076</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPamCut.html#56021e959232270c12528ddec3062985" title="Post-selection tasks.">OnGood</a>(PamLevel2 *event) { |
54 |
|
|
<a name="l00077"></a>00077 } |
55 |
|
|
<a name="l00078"></a>00078 |
56 |
|
|
<a name="l00087"></a><a class="code" href="classPamCut.html#cbb3b507d79f20878fac4392ffa57acb">00087</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPamCut.html#cbb3b507d79f20878fac4392ffa57acb" title="Post-selection tasks.">OnBad</a>(PamLevel2 *event, <span class="keywordtype">int</span> selectionResult) { |
57 |
|
|
<a name="l00088"></a>00088 } |
58 |
|
|
<a name="l00089"></a>00089 |
59 |
|
|
<a name="l00094"></a><a class="code" href="classPamCut.html#3ae6ebc9dd777e11e0d8ce18948538be">00094</a> <span class="keyword">virtual</span> UInt_t <a class="code" href="classPamCut.html#3ae6ebc9dd777e11e0d8ce18948538be" title="Returns the number of checked events.">GetNEv</a>() { |
60 |
|
|
<a name="l00095"></a>00095 <span class="keywordflow">return</span> <a class="code" href="classPamCut.html#0525bd3c71dbd445f817c163d56562d5" title="The number of analyzed events.">_nEv</a>; |
61 |
|
|
<a name="l00096"></a>00096 } |
62 |
|
|
<a name="l00104"></a><a class="code" href="classPamCut.html#b8a69206312cfcf6df6897aef973ef4a">00104</a> <span class="keyword">virtual</span> UInt_t <a class="code" href="classPamCut.html#b8a69206312cfcf6df6897aef973ef4a" title="Returns the number of good events.">GetNGood</a>() { |
63 |
|
|
<a name="l00105"></a>00105 <span class="keywordflow">return</span> <a class="code" href="classPamCut.html#eacb32030a52b4353861159e3ca098d0" title="The number of good events.">_nGood</a>; |
64 |
|
|
<a name="l00106"></a>00106 } |
65 |
|
|
<a name="l00107"></a>00107 |
66 |
|
|
<a name="l00120"></a>00120 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPamCut.html#e587828903b809c99f9ab5ba97ae6616" title="The pre-analysis task definition.">Setup</a>(PamLevel2 *events); |
67 |
|
|
<a name="l00121"></a>00121 |
68 |
|
|
<a name="l00128"></a><a class="code" href="classPamCut.html#fd74c1565552cabe4aced316df803737">00128</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPamCut.html#fd74c1565552cabe4aced316df803737" title="The post-analysis task definition.">Finalize</a>() { |
69 |
|
|
<a name="l00129"></a>00129 } |
70 |
|
|
<a name="l00130"></a>00130 |
71 |
|
|
<a name="l00135"></a>00135 <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classPamCut.html#9f14d875c176c2af470838a1b6dc069b" title="Returns the cut name.">GetName</a>() <span class="keyword">const</span>; |
72 |
|
|
<a name="l00136"></a>00136 |
73 |
|
|
<a name="l00141"></a>00141 <span class="keywordtype">void</span> <a class="code" href="classPamCut.html#276bd306ea0a62cc0effa5dea4118e21" title="Changes the cut&#39;s name.">SetName</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *newName); |
74 |
|
|
<a name="l00142"></a>00142 |
75 |
|
|
<a name="l00150"></a>00150 <a class="code" href="classPamCut.html" title="An abstract class to apply cuts to Pamela data.">PamCut</a>& <a class="code" href="classPamCut.html#cff560f2c6a663345c81f95df905956e" title="The assignment operator. This operator defines how to copy a PamCut object into another...">operator=</a>(<span class="keyword">const</span> <a class="code" href="classPamCut.html" title="An abstract class to apply cuts to Pamela data.">PamCut</a> &rightValue); |
76 |
|
|
<a name="l00151"></a>00151 |
77 |
|
|
<a name="l00152"></a>00152 <span class="keyword">private</span>: |
78 |
|
|
<a name="l00153"></a>00153 |
79 |
|
|
<a name="l00154"></a><a class="code" href="classPamCut.html#1eb606f9dab9c7f2fd5d84f834dcf146">00154</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classPamCut.html#1eb606f9dab9c7f2fd5d84f834dcf146">_cutName</a>; |
80 |
|
|
<a name="l00155"></a>00155 |
81 |
|
|
<a name="l00156"></a>00156 <span class="keyword">protected</span>: |
82 |
|
|
<a name="l00157"></a>00157 |
83 |
|
|
<a name="l00158"></a><a class="code" href="classPamCut.html#0525bd3c71dbd445f817c163d56562d5">00158</a> UInt_t <a class="code" href="classPamCut.html#0525bd3c71dbd445f817c163d56562d5" title="The number of analyzed events.">_nEv</a>; |
84 |
|
|
<a name="l00159"></a><a class="code" href="classPamCut.html#eacb32030a52b4353861159e3ca098d0">00159</a> UInt_t <a class="code" href="classPamCut.html#eacb32030a52b4353861159e3ca098d0" title="The number of good events.">_nGood</a>; |
85 |
|
|
<a name="l00160"></a>00160 }; |
86 |
|
|
<a name="l00161"></a>00161 |
87 |
|
|
<a name="l00171"></a><a class="code" href="classPamCutCollection.html">00171</a> <span class="keyword">class </span><a class="code" href="classPamCutCollection.html" title="A class which applies a set of cuts to Pamela data.">PamCutCollection</a>: <span class="keyword">public</span> <a class="code" href="classPamCut.html" title="An abstract class to apply cuts to Pamela data.">PamCut</a> { |
88 |
|
|
<a name="l00172"></a>00172 <span class="keyword">public</span>: |
89 |
|
|
<a name="l00173"></a>00173 |
90 |
|
|
<a name="l00178"></a><a class="code" href="classPamCutCollection.html#756d6cc1c69e85a0f76e7674789c5588">00178</a> <a class="code" href="classPamCutCollection.html#756d6cc1c69e85a0f76e7674789c5588" title="Constructor.">PamCutCollection</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *collectionName) : |
91 |
|
|
<a name="l00179"></a>00179 <a class="code" href="classPamCut.html" title="An abstract class to apply cuts to Pamela data.">PamCut</a>(collectionName) { |
92 |
|
|
<a name="l00180"></a>00180 } |
93 |
|
|
<a name="l00181"></a>00181 |
94 |
|
|
<a name="l00183"></a><a class="code" href="classPamCutCollection.html#932711c5f613639091adbcd851107b0c">00183</a> <a class="code" href="classPamCutCollection.html#932711c5f613639091adbcd851107b0c" title="Destructor.">~PamCutCollection</a>() { |
95 |
|
|
<a name="l00184"></a>00184 } |
96 |
|
|
<a name="l00185"></a>00185 |
97 |
|
|
<a name="l00193"></a>00193 <span class="keywordtype">void</span> <a class="code" href="classPamCutCollection.html#6dc6a92a7ee9243f567a2a244e1e5685" title="Adds a cut to the cut collection This routine adds a cut to the collection. These...">AddCut</a>(<a class="code" href="classPamCut.html" title="An abstract class to apply cuts to Pamela data.">PamCut</a> &cut); |
98 |
|
|
<a name="l00194"></a>00194 |
99 |
|
|
<a name="l00203"></a>00203 <span class="keywordtype">int</span> <a class="code" href="classPamCutCollection.html#85f04cef7b560a37061391dd397813a7" title="The basic selection.">Check</a>(PamLevel2 *event); |
100 |
|
|
<a name="l00204"></a>00204 |
101 |
|
|
<a name="l00214"></a>00214 <span class="keywordtype">int</span> <a class="code" href="classPamCutCollection.html#e7af429a3afef3685cbd5aa076ef96e5" title="Applies the cuts to the current event.">ApplyCut</a>(PamLevel2 *event); |
102 |
|
|
<a name="l00215"></a>00215 |
103 |
|
|
<a name="l00224"></a>00224 <a class="code" href="classPamCut.html" title="An abstract class to apply cuts to Pamela data.">PamCut</a> *<a class="code" href="classPamCutCollection.html#55e41082749260f5cee2fd53d9fd331b" title="Returns a pointer to the iCut-th cut.">GetCut</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> iCut); |
104 |
|
|
<a name="l00225"></a>00225 |
105 |
|
|
<a name="l00230"></a>00230 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classPamCutCollection.html#231f91b82b18cf326a2912b0b515baca" title="The number of cuts contained in the collection.">GetSize</a>(); |
106 |
|
|
<a name="l00231"></a>00231 |
107 |
|
|
<a name="l00239"></a>00239 <span class="keywordtype">void</span> <a class="code" href="classPamCutCollection.html#982821389af5e585688611d733b3a7b0" title="The pre-analysis task definition.">Setup</a>(PamLevel2 *events); |
108 |
|
|
<a name="l00240"></a>00240 |
109 |
|
|
<a name="l00246"></a>00246 <span class="keywordtype">void</span> <a class="code" href="classPamCutCollection.html#15785c75fb13b998422739e741bb5c01" title="The post-analysis task definition.">Finalize</a>(); |
110 |
|
|
<a name="l00247"></a>00247 |
111 |
|
|
<a name="l00257"></a>00257 <a class="code" href="classPamCutCollection.html" title="A class which applies a set of cuts to Pamela data.">PamCutCollection</a>& <a class="code" href="classPamCutCollection.html#3fb36e5fb38627f5cbffe6c23cf57d2a" title="Assignment operator redefinition. The assignment operator replaces the content of...">operator=</a>(<span class="keyword">const</span> <a class="code" href="classPamCutCollection.html" title="A class which applies a set of cuts to Pamela data.">PamCutCollection</a> &rightValue); |
112 |
|
|
<a name="l00258"></a>00258 |
113 |
|
|
<a name="l00259"></a>00259 <span class="keyword">protected</span>: |
114 |
|
|
<a name="l00261"></a><a class="code" href="classPamCutCollection.html#95f91f4b81f916cb6e120ee4b5bb5403">00261</a> std::vector<PamCut*> <a class="code" href="classPamCutCollection.html#95f91f4b81f916cb6e120ee4b5bb5403" title="A vector containing pointers to PamCut objects.">_cuts</a>; |
115 |
|
|
<a name="l00262"></a>00262 |
116 |
|
|
<a name="l00263"></a>00263 }; |
117 |
|
|
<a name="l00264"></a>00264 |
118 |
|
|
<a name="l00265"></a>00265 <span class="preprocessor">#endif </span><span class="comment">/* PAMCUTBASE_H_ */</span> |
119 |
|
|
</pre></div></div> |
120 |
|
|
<hr size="1"><address style="text-align: right;"><small>Generated on Wed May 27 15:21:27 2009 for PamCut by |
121 |
|
|
<a href="http://www.doxygen.org/index.html"> |
122 |
|
|
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address> |
123 |
|
|
</body> |
124 |
|
|
</html> |