2 #include "AliMultiplicity.h"
4 ClassImp(AliMultiplicity)
6 //______________________________________________________________________
7 AliMultiplicity::AliMultiplicity():
18 fFastOrFiredChips(1200)
20 // Default Constructor
25 //______________________________________________________________________
26 AliMultiplicity::AliMultiplicity(Int_t ntr, Float_t *t, Float_t *ph, Float_t *df, Int_t *labels, Int_t* labelsL2, Int_t ns, Float_t *ts, Float_t *ps, Short_t nfcL1, Short_t nfcL2, TBits fFastOr):
37 fFastOrFiredChips(1200)
39 // Standard constructor
41 fLabels = new Int_t[ntr];
42 fLabelsL2 = new Int_t[ntr];
43 fTh = new Double_t [ntr];
44 fPhi = new Double_t [ntr];
45 fDeltPhi = new Double_t [ntr];
46 for(Int_t i=0;i<fNtracks;i++){
50 fLabels[i] = labels[i];
51 fLabelsL2[i] = labelsL2[i];
55 fThsingle = new Double_t [ns];
56 fPhisingle = new Double_t [ns];
57 for(Int_t i=0;i<fNsingle;i++){
62 fFiredChips[0] = nfcL1;
63 fFiredChips[1] = nfcL2;
64 fFastOrFiredChips = fFastOr;
67 //______________________________________________________________________
68 AliMultiplicity::AliMultiplicity(const AliMultiplicity& m):
79 fFastOrFiredChips(1200)
85 //______________________________________________________________________
86 AliMultiplicity &AliMultiplicity::operator=(const AliMultiplicity& m){
87 // assignment operator
88 if(this == &m)return *this;
89 ((TObject *)this)->operator=(m);
91 if(fTh)delete [] fTh;fTh = 0;
92 if(fPhi)delete [] fPhi;fPhi = 0;
93 if(fDeltPhi)delete [] fDeltPhi;fDeltPhi = 0;
94 if(fLabels)delete [] fLabels;fLabels = 0;
95 if(fLabelsL2)delete [] fLabelsL2;fLabelsL2 = 0;
96 if(fThsingle)delete [] fThsingle;fThsingle = 0;
97 if(fPhisingle)delete [] fPhisingle;fPhisingle = 0;
103 void AliMultiplicity::Copy(TObject &obj) const {
105 // this overwrites the virtual TOBject::Copy()
106 // to allow run time copying without casting
109 if(this==&obj)return;
110 AliMultiplicity *robj = dynamic_cast<AliMultiplicity*>(&obj);
111 if(!robj)return; // not an AliMultiplicity
117 //______________________________________________________________________
118 void AliMultiplicity::Duplicate(const AliMultiplicity& m){
119 // used by copy constructor and assignment operator
120 fNtracks = m.fNtracks;
122 fTh = new Double_t[fNtracks];
123 fPhi = new Double_t[fNtracks];
124 fDeltPhi = new Double_t[fNtracks];
125 fLabels = new Int_t[fNtracks];
126 fLabelsL2 = new Int_t[fNtracks];
135 fNsingle = m.fNsingle;
137 fThsingle = new Double_t[fNsingle];
138 fPhisingle = new Double_t[fNsingle];
144 if(m.fTh)memcpy(fTh,m.fTh,fNtracks*sizeof(Double_t));
145 if(m.fPhi)memcpy(fPhi,m.fPhi,fNtracks*sizeof(Double_t));
146 if(m.fDeltPhi)memcpy(fDeltPhi,m.fDeltPhi,fNtracks*sizeof(Double_t));
147 if(m.fLabels)memcpy(fLabels,m.fLabels,fNtracks*sizeof(Int_t));
148 if(m.fLabelsL2)memcpy(fLabelsL2,m.fLabelsL2,fNtracks*sizeof(Int_t));
149 if(m.fThsingle)memcpy(fThsingle,m.fThsingle,fNsingle*sizeof(Double_t));
150 if(m.fPhisingle)memcpy(fPhisingle,m.fPhisingle,fNsingle*sizeof(Double_t));
152 fFiredChips[0] = m.fFiredChips[0];
153 fFiredChips[1] = m.fFiredChips[1];
155 fFastOrFiredChips = m.fFastOrFiredChips;
158 //______________________________________________________________________
159 AliMultiplicity::~AliMultiplicity(){
161 if(fTh)delete [] fTh;fTh = 0;
162 if(fPhi)delete [] fPhi;fPhi = 0;
163 if(fDeltPhi)delete [] fDeltPhi;fDeltPhi = 0;
164 if(fLabels)delete [] fLabels;fLabels = 0;
165 if(fLabelsL2)delete [] fLabelsL2;fLabelsL2 = 0;
166 if(fThsingle)delete [] fThsingle;fThsingle = 0;
167 if(fPhisingle)delete [] fPhisingle;fPhisingle = 0;