]>
Commit | Line | Data |
---|---|---|
32e449be | 1 | #include "AliMultiplicity.h" |
2 | ||
3 | ClassImp(AliMultiplicity) | |
4 | ||
5 | //______________________________________________________________________ | |
fe12e09c | 6 | AliMultiplicity::AliMultiplicity(): |
7 | TObject(), | |
8 | fNtracks(0), | |
9 | fTh(0), | |
10 | fPhi(0), | |
968e8539 | 11 | fDeltPhi(0), |
12 | fNsingle(0), | |
13 | fThsingle(0), | |
14 | fPhisingle(0) | |
fe12e09c | 15 | |
16 | { | |
32e449be | 17 | // Default Constructor |
32e449be | 18 | } |
19 | ||
20 | //______________________________________________________________________ | |
968e8539 | 21 | AliMultiplicity::AliMultiplicity(Int_t ntr, Float_t *t, Float_t *ph, Float_t *df, Int_t ns, Float_t *ts, Float_t *ps): |
fe12e09c | 22 | TObject(), |
23 | fNtracks(ntr), | |
24 | fTh(0), | |
25 | fPhi(0), | |
968e8539 | 26 | fDeltPhi(0), |
27 | fNsingle(ns), | |
28 | fThsingle(0), | |
29 | fPhisingle(0) | |
fe12e09c | 30 | { |
32e449be | 31 | // Standard constructor |
32e449be | 32 | if(ntr>0){ |
33 | fTh = new Float_t [ntr]; | |
34 | fPhi = new Float_t [ntr]; | |
35 | fDeltPhi = new Float_t [ntr]; | |
36 | for(Int_t i=0;i<fNtracks;i++){ | |
37 | fTh[i]=t[i]; | |
38 | fPhi[i]=ph[i]; | |
39 | fDeltPhi[i]=df[i]; | |
40 | } | |
41 | } | |
968e8539 | 42 | if(ns>0){ |
43 | fThsingle = new Float_t [ns]; | |
44 | fPhisingle = new Float_t [ns]; | |
45 | for(Int_t i=0;i<fNsingle;i++){ | |
46 | fThsingle[i]=ts[i]; | |
47 | fPhisingle[i]=ps[i]; | |
48 | } | |
49 | } | |
32e449be | 50 | } |
51 | ||
52 | //______________________________________________________________________ | |
fe12e09c | 53 | AliMultiplicity::AliMultiplicity(const AliMultiplicity& m): |
54 | TObject(m), | |
55 | fNtracks(m.fNtracks), | |
56 | fTh(0), | |
57 | fPhi(0), | |
968e8539 | 58 | fDeltPhi(0), |
59 | fNsingle(m.fNsingle), | |
60 | fThsingle(0), | |
61 | fPhisingle(0) | |
fe12e09c | 62 | { |
32e449be | 63 | // copy constructor |
64 | ||
65 | Duplicate(m); | |
66 | ||
67 | } | |
68 | ||
69 | //______________________________________________________________________ | |
70 | AliMultiplicity &AliMultiplicity::operator=(const AliMultiplicity& m){ | |
71 | // assignment operator | |
72 | if(this == &m)return *this; | |
73 | ((TObject *)this)->operator=(m); | |
74 | ||
75 | if (fTh)delete [] fTh; | |
76 | if(fPhi)delete [] fPhi; | |
77 | if(fDeltPhi)delete [] fDeltPhi; | |
968e8539 | 78 | if(fThsingle)delete [] fThsingle; |
79 | if(fPhisingle)delete [] fPhisingle; | |
32e449be | 80 | Duplicate(m); |
81 | ||
82 | return *this; | |
83 | } | |
84 | ||
85 | //______________________________________________________________________ | |
86 | void AliMultiplicity::Duplicate(const AliMultiplicity& m){ | |
87 | // used by copy constructor and assignment operator | |
88 | fNtracks = m.fNtracks; | |
89 | if(fNtracks>0){ | |
90 | fTh = new Float_t [fNtracks]; | |
91 | fPhi = new Float_t [fNtracks]; | |
92 | fDeltPhi = new Float_t [fNtracks]; | |
93 | } | |
94 | else { | |
95 | fTh = 0; | |
96 | fPhi = 0; | |
97 | fDeltPhi = 0; | |
98 | } | |
968e8539 | 99 | fNsingle = m.fNsingle; |
100 | if(fNsingle>0){ | |
101 | fThsingle = new Float_t [fNsingle]; | |
102 | fPhisingle = new Float_t [fNsingle]; | |
103 | } | |
104 | else { | |
105 | fThsingle = 0; | |
106 | fPhisingle = 0; | |
107 | } | |
32e449be | 108 | memcpy(fTh,m.fTh,fNtracks*sizeof(Float_t)); |
109 | memcpy(fPhi,m.fPhi,fNtracks*sizeof(Float_t)); | |
110 | memcpy(fDeltPhi,m.fDeltPhi,fNtracks*sizeof(Float_t)); | |
968e8539 | 111 | memcpy(fThsingle,m.fThsingle,fNsingle*sizeof(Float_t)); |
112 | memcpy(fPhisingle,m.fPhisingle,fNsingle*sizeof(Float_t)); | |
32e449be | 113 | } |
114 | ||
115 | //______________________________________________________________________ | |
116 | AliMultiplicity::~AliMultiplicity(){ | |
117 | // Destructor | |
118 | if (fTh)delete [] fTh; | |
119 | if(fPhi)delete [] fPhi; | |
120 | if(fDeltPhi)delete [] fDeltPhi; | |
968e8539 | 121 | if(fThsingle)delete [] fThsingle; |
122 | if(fPhisingle)delete [] fPhisingle; | |
32e449be | 123 | } |
124 | ||
125 |