//____________________________________________________________________________
AliPHOSDigit::AliPHOSDigit() :
AliDigitNew(),
+ fIsLG(0),
fNprimary(0),
fPrimary(0x0),
fEnergy(0.),
//____________________________________________________________________________
AliPHOSDigit::AliPHOSDigit(Int_t primary, Int_t id, Int_t digEnergy, Float_t time, Int_t index) :
+ fIsLG(0),
fNprimary(0),
fPrimary(0),
fEnergy(0.f),
fTimeR = fTime ;
fId = id ;
fIndexInList = index ;
+
if( primary != -1){
fNprimary = 1 ;
fPrimary = new Int_t[fNprimary] ;
//____________________________________________________________________________
AliPHOSDigit::AliPHOSDigit(Int_t primary, Int_t id, Float_t energy, Float_t time, Int_t index) :
+ fIsLG(0),
fNprimary(0),
fPrimary(0),
fEnergy(0.f),
//____________________________________________________________________________
AliPHOSDigit::AliPHOSDigit(const AliPHOSDigit & digit) :
AliDigitNew(digit),
+ fIsLG(digit.fIsLG),
fNprimary(digit.fNprimary),
fPrimary(0),
fEnergy(digit.fEnergy),
fIndexInList = digit.fIndexInList ;
}
+//____________________________________________________________________________
+AliPHOSDigit & AliPHOSDigit::operator = (const AliPHOSDigit &)
+{
+ Fatal("operator =", "not implemented");
+ return *this;
+}
//____________________________________________________________________________
AliPHOSDigit::~AliPHOSDigit()
{
if (fSamplesLG) delete [] fSamplesLG;
}
+//____________________________________________________________________________
+void AliPHOSDigit::Clear(const Option_t*)
+{
+ // Delete array of primaries if any
+ delete[] fSamplesHG; fSamplesHG = NULL ;
+ delete[] fSamplesLG; fSamplesLG = NULL ;
+ delete[] fPrimary; fPrimary = NULL ;
+
+}
+
//____________________________________________________________________________
Int_t AliPHOSDigit::Compare(const TObject * obj) const
{
void AliPHOSDigit::SetALTROSamplesHG(Int_t nSamplesHG, Int_t *samplesHG)
{
fNSamplesHG = nSamplesHG;
+ if (fSamplesHG) delete [] fSamplesHG;
fSamplesHG = new UShort_t[fNSamplesHG];
UShort_t i;
for (i=0; i<fNSamplesHG; i++) {
void AliPHOSDigit::SetALTROSamplesLG(Int_t nSamplesLG, Int_t *samplesLG)
{
fNSamplesLG = nSamplesLG;
+ if (fSamplesLG) delete [] fSamplesLG;
fSamplesLG = new UShort_t[fNSamplesLG];
UShort_t i;
for (i=0; i<fNSamplesLG; i++) {
for (i=0; i<fNSamplesLG; i++)
fSamplesLG[i] = TMath::Max(1023,fSamplesLG[i] + (digit.fSamplesLG)[i]);
}
+
+ //If at least one digit in LG, then sum also
+ fIsLG=fIsLG||digit.fIsLG ;
return *this ;
}