// Why should I put meaningless comments
// just to satisfy
// the code checker
-//*-- Author: Gines Martinez (SUBATECH)
+//-- Author: Gines Martinez (SUBATECH)
// --- ROOT system ---
#include "TPad.h"
fMulTrack(0),fMaxDigit(100),fMulDigit(0),fMaxTrack(200),
fDigitsList(0),fTracksList(0),fAmp(0),
fIndexInList(-1), // to be set when the point is already stored
- fLocPos(0,0,0),fLocPosM(0)
+ fLocPos(0,0,0)
{
// ctor
fMulTrack(0),fMaxDigit(100),fMulDigit(0),fMaxTrack(200),
fDigitsList(new Int_t[fMaxDigit]),fTracksList(new Int_t[fMaxTrack]),fAmp(0),
fIndexInList(-1), // to be set when the point is already stored
- fLocPos(0,0,0),fLocPosM(new TMatrixF(3,3))
+ fLocPos(0,0,0)
{
// ctor
{
// dtor
- delete fLocPosM ;
delete [] fDigitsList ;
delete [] fTracksList ;
fPHOSMod(rp.fPHOSMod),fMulTrack(rp.fMulTrack),fMaxDigit(rp.fMaxDigit),
fMulDigit(rp.fMulDigit),fMaxTrack(rp.fMaxTrack),fDigitsList(0x0),
fTracksList(0x0),fAmp(rp.fAmp),fIndexInList(rp.fIndexInList),
- fLocPos(rp.fLocPos),fLocPosM(rp.fLocPosM)
+ fLocPos(rp.fLocPos)
{
//copy ctor
{
if(&rp == this) return *this;
- fPHOSMod = rp.fPHOSMod;
- fMulTrack = rp.fMulTrack;
- fMaxDigit = rp.fMaxDigit;
- fMulDigit = rp.fMulDigit;
- fMaxTrack = rp.fMaxTrack;
- fAmp = rp.fAmp;
+ fPHOSMod = rp.fPHOSMod;
+ fMulTrack = rp.fMulTrack;
+ fMaxDigit = rp.fMaxDigit;
+ fMulDigit = rp.fMulDigit;
+ fMaxTrack = rp.fMaxTrack;
+ fAmp = rp.fAmp;
fIndexInList = rp.fIndexInList;
fLocPos = rp.fLocPos;
- fLocPosM = rp.fLocPosM;
- for(Int_t i=0; i<fMaxDigit; i++)
- fDigitsList[i] = rp.fDigitsList[i];
+ if (fDigitsList != 0) delete [] fDigitsList;
+ if (fMaxDigit>0) {
+ fDigitsList = new Int_t[fMaxDigit];
+ for(Int_t i=0; i<fMaxDigit; i++)
+ fDigitsList[i] = rp.fDigitsList[i];
+ }
- for(Int_t i=0; i<fMaxTrack; i++)
- fTracksList[i] = rp.fTracksList[i];
+ if (fTracksList != 0) delete [] fTracksList;
+ if (fMaxTrack>0) {
+ fTracksList = new Int_t[fMaxTrack];
+ for(Int_t i=0; i<fMaxTrack; i++)
+ fTracksList[i] = rp.fTracksList[i];
+ }
return *this;
}
case kButton1Down:{
AliPHOSDigit * digit ;
- AliPHOSGeometry * phosgeom = AliPHOSLoader::GetPHOSGeometry();
+ AliPHOSGeometry * phosgeom = AliPHOSGeometry::GetInstance() ;
Int_t iDigit;
Int_t relid[4] ;
clustertext = new TPaveText(pos.X()-10,pos.Z()+10,pos.X()+50,pos.Z()+35,"") ;
Text_t line1[40] ;
Text_t line2[40] ;
- sprintf(line1,"Energy=%1.2f GeV",GetEnergy()) ;
- sprintf(line2,"%d Digits",GetDigitsMultiplicity()) ;
+ snprintf(line1,40,"Energy=%1.2f GeV",GetEnergy()) ;
+ snprintf(line2,40,"%d Digits",GetDigitsMultiplicity()) ;
clustertext ->AddText(line1) ;
clustertext ->AddText(line2) ;
clustertext ->Draw("");
//Calculate offset to crystal surface.
//See fCrystalShift code in AliPHOSGeometry::Init()).
- Float_t * inthermo = geoEMCA->GetInnerThermoHalfSize() ;
- Float_t * strip = geoEMCA->GetStripHalfSize() ;
- Float_t* splate = geoEMCA->GetSupportPlateHalfSize();
- Float_t * crystal = geoEMCA->GetCrystalHalfSize() ;
- Float_t * pin = geoEMCA->GetAPDHalfSize() ;
- Float_t * preamp = geoEMCA->GetPreampHalfSize() ;
+ const Float_t * inthermo = geoEMCA->GetInnerThermoHalfSize() ;
+ const Float_t * strip = geoEMCA->GetStripHalfSize() ;
+ const Float_t * splate = geoEMCA->GetSupportPlateHalfSize();
+ const Float_t * crystal = geoEMCA->GetCrystalHalfSize() ;
+ const Float_t * pin = geoEMCA->GetAPDHalfSize() ;
+ const Float_t * preamp = geoEMCA->GetPreampHalfSize() ;
crystalShift = -inthermo[1]+strip[1]+splate[1]+crystal[1]-geoEMCA->GetAirGapLed()/2.+pin[1]+preamp[1] ;
if(IsEmc()) {
lxyz[1] = lxyz[1] - dy;
const TGeoHMatrix* tr2loc = GetTracking2LocalMatrix();
- if(!tr2loc) AliFatal(Form("No Tracking2LocalMatrix found."));
+ if(!tr2loc) AliFatal(Form("No Tracking2LocalMatrix found for VolumeID=%d",GetVolumeId()));
tr2loc->MasterToLocal(lxyz,txyz);
SetX(txyz[0]); SetY(txyz[1]); SetZ(txyz[2]);