]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AliGenCocktailEventHeader.cxx
added a protection before writing out the corr NTuple
[u/mrichter/AliRoot.git] / STEER / AliGenCocktailEventHeader.cxx
CommitLineData
2ca8bd8b 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
22ClassImp(AliGenCocktailEventHeader)
23
24
25AliGenCocktailEventHeader::AliGenCocktailEventHeader():
26 fHeaders(0)
27{
28// Default Constructor
29}
30
31AliGenCocktailEventHeader::AliGenCocktailEventHeader(const char* name):AliGenEventHeader(name),
32 fHeaders(0)
33{
34// Constructor
35}
36
37AliGenCocktailEventHeader::AliGenCocktailEventHeader(const AliGenCocktailEventHeader &header):
38 AliGenEventHeader(header),
39 fHeaders(0)
40{
41// Copy Constructor
42 header.Copy(*this);
43}
44
45AliGenCocktailEventHeader::~AliGenCocktailEventHeader()
46{
47// Constructor
48 if (fHeaders) {
816276f1 49 fHeaders->Delete();
2ca8bd8b 50 delete fHeaders;
51 }
52}
53
54void AliGenCocktailEventHeader::AddHeader(AliGenEventHeader* header)
55{
56// Add a header to the list
57 if (!fHeaders) fHeaders = new TList();
f2f240a9 58 fHeaders->Add(header->Clone());
2ca8bd8b 59}
60
b87c2fe7 61Int_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
2ca8bd8b 73AliGenCocktailEventHeader& AliGenCocktailEventHeader::operator=(const AliGenCocktailEventHeader& rhs)
74{
75// Assignment operator
76 rhs.Copy(*this);
77 return (*this);
78}
b87c2fe7 79