Line data Source code
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 176 : ClassImp(AliGenCocktailEventHeader)
23 :
24 :
25 117 : AliGenCocktailEventHeader::AliGenCocktailEventHeader():
26 117 : fHeaders(0)
27 585 : {
28 : // Default Constructor
29 234 : }
30 :
31 4 : AliGenCocktailEventHeader::AliGenCocktailEventHeader(const char* name):AliGenEventHeader(name),
32 4 : fHeaders(0)
33 20 : {
34 : // Constructor
35 8 : }
36 :
37 : AliGenCocktailEventHeader::AliGenCocktailEventHeader(const AliGenCocktailEventHeader &header):
38 0 : AliGenEventHeader(header),
39 0 : fHeaders(0)
40 0 : {
41 : // Copy Constructor
42 0 : header.Copy(*this);
43 0 : }
44 :
45 : AliGenCocktailEventHeader::~AliGenCocktailEventHeader()
46 636 : {
47 : // Constructor
48 106 : if (fHeaders) {
49 106 : fHeaders->Delete();
50 212 : delete fHeaders;
51 : }
52 318 : }
53 :
54 : void AliGenCocktailEventHeader::AddHeader(const AliGenEventHeader* header)
55 : {
56 : // Add a header to the list
57 40 : if (!fHeaders) fHeaders = new TList();
58 16 : fHeaders->Add(header->Clone());
59 16 : }
60 :
61 : Int_t AliGenCocktailEventHeader::CalcNProduced()
62 : {
63 : // Calculate the total number of produced and stored particles
64 8 : TIter next(fHeaders);
65 : AliGenEventHeader *entry;
66 : //
67 : Int_t np = 0;
68 76 : while((entry = (AliGenEventHeader*)next())) {np += (entry->NProduced());}
69 4 : fNProduced = np;
70 : return (np);
71 4 : }
72 :
73 : AliGenCocktailEventHeader& AliGenCocktailEventHeader::operator=(const AliGenCocktailEventHeader& rhs)
74 : {
75 : // Assignment operator
76 0 : rhs.Copy(*this);
77 0 : return (*this);
78 : }
79 :
|