newly implemented model for slow nucleon production
[u/mrichter/AliRoot.git] / EVGEN / AliGenCocktailEntry.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 // Entry for AliGenCocktail container class. 
19 // See also comments there.
20 // In addition to the pointer to the generator the class provides some 
21 // bookkeeping functionality (weights, links to particle list, ...)
22 // Author: andreas.morsch@cern.ch
23
24 #include <TString.h>
25 #include <TFormula.h>
26 #include "AliGenCocktailEntry.h"
27 #include "AliGenerator.h"
28
29
30 ClassImp(AliGenCocktailEntry)
31
32 AliGenCocktailEntry::AliGenCocktailEntry():
33     fGenerator(0),
34     fNGenerated(0),
35     fFirst(-1),
36     fLast(-1),
37     fRate(0),
38     fNTimes(1),
39     fKineBias(1),
40     fBias(1),
41     fFormula(0)
42 {
43 // Default constructor
44
45 }
46
47 AliGenCocktailEntry:: AliGenCocktailEntry
48 (AliGenerator* pGenerator, const char* Name, Float_t RateExp) : 
49   TNamed(Name, "Generator Cocktail Entry"),
50   fGenerator(pGenerator),
51   fNGenerated(0),
52   fFirst(-1),
53   fLast(-1),
54   fRate(RateExp),
55   fNTimes(1),
56   fKineBias(1),
57   fBias(1),
58   fFormula(0)
59 {
60     // Constructor
61 }
62
63 AliGenCocktailEntry::AliGenCocktailEntry(const AliGenCocktailEntry &entry):
64     TNamed(entry),
65     fGenerator(0),
66     fNGenerated(0),
67     fFirst(-1),
68     fLast(-1),
69     fRate(0),
70     fNTimes(1),
71     fKineBias(1),
72     fBias(1),
73     fFormula(0)
74 {
75 // Dummy copy constructor
76     entry.Copy(*this);
77 }
78
79
80 void AliGenCocktailEntry::PrintInfo() const
81 {
82 // Print out information about generator entry
83     printf("\n Generator: %s Generated Events: %d First: %d Last: %d",
84            (const char *) fName, fGenerator->NumberParticles(), fFirst, fLast);
85 }
86  
87 AliGenCocktailEntry& AliGenCocktailEntry::operator
88 =(const  AliGenCocktailEntry& rhs)
89 {
90 // Assignment operator
91     rhs.Copy(*this);
92     return (*this);
93 }
94
95 void AliGenCocktailEntry::Copy(TObject&) const
96 {
97     //
98     // Copy 
99     //
100     Fatal("Copy","Not implemented!\n");
101 }