From: dibari Date: Thu, 6 Mar 2008 13:52:47 +0000 (+0000) Subject: Bugs soved by Peter Hristov. X-Git-Url: http://git.uio.no/git/?a=commitdiff_plain;h=1d6047fbf3791e667c169a371aa201fc9d7ff188;p=u%2Fmrichter%2FAliRoot.git Bugs soved by Peter Hristov. --- diff --git a/HMPID/AliHMPIDCluster.h b/HMPID/AliHMPIDCluster.h index 9d1f644ca4c..f7d2c1103fd 100644 --- a/HMPID/AliHMPIDCluster.h +++ b/HMPID/AliHMPIDCluster.h @@ -82,7 +82,7 @@ protected: Double_t fChi2; //some estimator of the fit quality TObjArray *fDigs; //! list of digits forming this cluster static Bool_t fgDoCorrSin; //flag to switch on/off correction for Sinusoidal to cluster reco - AliHMPIDParam *fParam; // Pointer to AliHMPIDParam + AliHMPIDParam *fParam; //!Pointer to AliHMPIDParam private: /* @@ -96,7 +96,7 @@ private: AliHMPIDCluster &operator=(const AliHMPIDCluster& c); //dummy assignment operator - ClassDef(AliHMPIDCluster,8) //HMPID cluster class + ClassDef(AliHMPIDCluster,9) //HMPID cluster class }; //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ diff --git a/HMPID/AliHMPIDParam.cxx b/HMPID/AliHMPIDParam.cxx index ae44679189f..7afbebfbb05 100644 --- a/HMPID/AliHMPIDParam.cxx +++ b/HMPID/AliHMPIDParam.cxx @@ -103,7 +103,7 @@ AliHMPIDParam::AliHMPIDParam(Bool_t noGeo=kFALSE):TNamed("HmpidParam","default v IdealPosition(i,fM[i]); } else { TGeoPhysicalNode *pnode = pne->GetPhysicalNode(); - if(pnode) fM[i]=pnode->GetMatrix(); + if(pnode) fM[i]=new TGeoHMatrix(*(pnode->GetMatrix())); else { fM[i]=new TGeoHMatrix; IdealPosition(i,fM[i]); diff --git a/HMPID/AliHMPIDParam.h b/HMPID/AliHMPIDParam.h index f5fff4a7ea1..0b7bb8b05ae 100644 --- a/HMPID/AliHMPIDParam.h +++ b/HMPID/AliHMPIDParam.h @@ -19,8 +19,15 @@ class AliHMPIDParam :public TNamed { public: //ctor&dtor - virtual ~AliHMPIDParam() {for(Int_t i=0;i<7;i++) delete fM[i]; delete fgInstance; fgInstance=0;} - void Print(Option_t *opt="") const; //print current parametrization + virtual ~AliHMPIDParam() { + if (fgInstance){ + for(Int_t i=0;i<7;i++){ delete fM[i]; fM[i] = 0x0;} + fgInstance=0; + } + } + + void Print(Option_t *opt="") const; //print current parametrization + static inline AliHMPIDParam* Instance(); //pointer to AliHMPIDParam singleton static inline AliHMPIDParam* InstanceNoGeo(); //pointer to AliHMPIDParam singleton without geometry.root for MOOD, displays, ... //geo info