]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliGenCocktailEventHeader.cxx
Bug fix in the order of the Ds cuts (Sadhana, Francesco)
[u/mrichter/AliRoot.git] / STEER / AliGenCocktailEventHeader.cxx
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
18 #include "AliGenCocktailEventHeader.h"
19 #include "AliGenEventHeader.h"
20 #include <TList.h>
21
22 ClassImp(AliGenCocktailEventHeader)
23
24
25 AliGenCocktailEventHeader::AliGenCocktailEventHeader():
26     fHeaders(0)
27 {
28 // Default Constructor
29 }
30
31 AliGenCocktailEventHeader::AliGenCocktailEventHeader(const char* name):AliGenEventHeader(name),
32     fHeaders(0)
33 {
34 // Constructor
35 }
36
37 AliGenCocktailEventHeader::AliGenCocktailEventHeader(const AliGenCocktailEventHeader &header):
38     AliGenEventHeader(header),
39     fHeaders(0)
40 {
41 // Copy Constructor
42     header.Copy(*this);
43 }
44
45 AliGenCocktailEventHeader::~AliGenCocktailEventHeader()
46 {
47 // Constructor
48     if (fHeaders) {
49         fHeaders->Delete();
50         delete fHeaders;
51     }
52 }
53
54 void AliGenCocktailEventHeader::AddHeader(AliGenEventHeader* header)
55 {
56 // Add a header to the list
57     if (!fHeaders) fHeaders = new TList();
58     fHeaders->Add(header);
59 }
60
61 Int_t AliGenCocktailEventHeader::CalcNProduced()
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
73 AliGenCocktailEventHeader& AliGenCocktailEventHeader::operator=(const  AliGenCocktailEventHeader& rhs)
74 {
75 // Assignment operator
76     rhs.Copy(*this); 
77     return (*this);
78 }
79