AliRoot Core  3dc7879 (3dc7879)
AliGenCocktailEventHeader.cxx
Go to the documentation of this file.
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  * *
4  * Author: The ALICE Off-line Project. *
5  * Contributors are mentioned in the code where appropriate. *
6  * *
7  * Permission to use, copy, modify and distribute this software and its *
8  * documentation strictly for non-commercial purposes is hereby granted *
9  * without fee, provided that the above copyright notice appears in all *
10  * copies and that both the copyright notice and this permission notice *
11  * appear in the supporting documentation. The authors make no claims *
12  * about the suitability of this software for any purpose. It is *
13  * provided "as is" without express or implied warranty. *
14  **************************************************************************/
15 
16 /* $Id$ */
17 
19 #include "AliGenEventHeader.h"
20 #include <TList.h>
21 
23 
24 
26  fHeaders(0)
27 {
28 // Default Constructor
29 }
30 
32  fHeaders(0)
33 {
34 // Constructor
35 }
36 
38  AliGenEventHeader(header),
39  fHeaders(0)
40 {
41 // Copy Constructor
42  header.Copy(*this);
43 }
44 
46 {
47 // Constructor
48  if (fHeaders) {
49  fHeaders->Delete();
50  delete fHeaders;
51  }
52 }
53 
55 {
56 // Add a header to the list
57  if (!fHeaders) fHeaders = new TList();
58  fHeaders->Add(header->Clone());
59 }
60 
62 {
63  // Calculate the total number of produced and stored particles
64  TIter next(fHeaders);
65  AliGenEventHeader *entry;
66  //
67  Int_t np = 0;
68  while((entry = (AliGenEventHeader*)next())) {np += (entry->NProduced());}
69  fNProduced = np;
70  return (np);
71 }
72 
74 {
75 // Assignment operator
76  rhs.Copy(*this);
77  return (*this);
78 }
79 
virtual Int_t NProduced() const
virtual void AddHeader(const AliGenEventHeader *header)
AliGenCocktailEventHeader & operator=(const AliGenCocktailEventHeader &rhs)