| 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> |