]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Destructor added in various classes. This should fix the problems of abnormal memory...
authorauras <auras@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 21 Mar 2012 14:35:41 +0000 (14:35 +0000)
committerauras <auras@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 21 Mar 2012 14:35:41 +0000 (14:35 +0000)
MFT/AliMFTCluster.h
MFT/AliMFTPlane.cxx
MFT/AliMFTPlane.h
MFT/AliMuonForwardTrack.cxx
MFT/AliMuonForwardTrack.h
MFT/AliMuonForwardTrackAnalysis.cxx
MFT/AliMuonForwardTrackPair.h

index 122088b697a8715e3099cfaa56ba431050f30a55..9238f9a4df5ac59c9e241ff84f2d21ac6a646ef5 100644 (file)
@@ -29,7 +29,7 @@ public:
   AliMFTCluster(const AliMFTCluster&);
   AliMFTCluster& operator=(const AliMFTCluster&);
 
-  virtual ~AliMFTCluster() {};  // destructor
+  virtual ~AliMFTCluster() { fDigitsInCluster->Delete(); delete fDigitsInCluster; }  // destructor
 
   void SetXYZ(Double_t x, Double_t y, Double_t z) { fX=x; fY=y; fZ=z; }
 
index 0e9cc07a7bd92e4179628cb45ef126b4d283d7f3..2212f810f02268a35baae413d3c46604ff6f06dc 100644 (file)
@@ -403,8 +403,6 @@ void AliMFTPlane::DrawPlane(Option_t *opt) {
     TCanvas *cnv = new TCanvas("cnv", GetName(), 900, 900);
     cnv->Draw();
 
-    //    printf("Created Canvas\n");
-
     TH2D *h = new TH2D("tmp", GetName(), 
                       1, 1.1*GetSupportElement(0)->GetAxis(0)->GetXmin(), 1.1*GetSupportElement(0)->GetAxis(0)->GetXmax(), 
                       1, 1.1*GetSupportElement(0)->GetAxis(1)->GetXmin(), 1.1*GetSupportElement(0)->GetAxis(1)->GetXmax());
@@ -420,10 +418,7 @@ void AliMFTPlane::DrawPlane(Option_t *opt) {
     supportExt -> Draw("same");
     supportInt -> Draw("same");
 
-    //    printf("Created Ellipses\n");
-
     for (Int_t iEl=0; iEl<GetNActiveElements(); iEl++) {
-      //      printf("Active element %d\n", iEl);
       if (!IsFront(GetActiveElement(iEl))) continue;
       TPave *pave = new TPave(GetActiveElement(iEl)->GetAxis(0)->GetXmin(), 
                              GetActiveElement(iEl)->GetAxis(1)->GetXmin(), 
@@ -434,7 +429,6 @@ void AliMFTPlane::DrawPlane(Option_t *opt) {
     }
 
     for (Int_t iEl=0; iEl<GetNReadoutElements(); iEl++) {
-      //      printf("Readout element %d\n", iEl);
       if (!IsFront(GetReadoutElement(iEl))) continue;
       TPave *pave = new TPave(GetReadoutElement(iEl)->GetAxis(0)->GetXmin(), 
                              GetReadoutElement(iEl)->GetAxis(1)->GetXmin(), 
@@ -619,3 +613,28 @@ void AliMFTPlane::DrawPlane(Option_t *opt) {
 
 //====================================================================================================================================================
 
+Int_t AliMFTPlane::GetNumberOfChips(Option_t *opt) {
+
+  Int_t nChips = 0;
+
+  if (!strcmp(opt, "front")) {
+    for (Int_t iEl=0; iEl<GetNActiveElements(); iEl++) {
+      if (!IsFront(GetActiveElement(iEl))) continue;
+      Double_t length = GetActiveElement(iEl)->GetAxis(0)->GetXmax() - GetActiveElement(iEl)->GetAxis(0)->GetXmin();
+      nChips += Int_t (length/AliMFTConstants::fWidthChip) + 1;
+    }
+  }
+
+  else if (!strcmp(opt, "back")) {
+    for (Int_t iEl=0; iEl<GetNActiveElements(); iEl++) {
+      if (IsFront(GetActiveElement(iEl))) continue;
+      Double_t length = GetActiveElement(iEl)->GetAxis(0)->GetXmax() - GetActiveElement(iEl)->GetAxis(0)->GetXmin();
+      nChips += Int_t (length/AliMFTConstants::fWidthChip) + 1;
+    }
+  }
+
+  return nChips;
+
+}
+
+//====================================================================================================================================================
index 4ae87b043260e130b82a93a6f4ee35fedf65a143..274f945286cc881485a266875a9d2b71e73fcd97 100644 (file)
@@ -78,6 +78,8 @@ public:
   Double_t GetEquivalentSilicon()            const { return fEquivalentSilicon; }
   Double_t GetEquivalentSiliconBeforeFront() const { return fEquivalentSiliconBeforeFront; }
   Double_t GetEquivalentSiliconBeforeBack()  const { return fEquivalentSiliconBeforeBack; }
+
+  Int_t GetNumberOfChips(Option_t *opt);
   
 private:
 
index 5cfc559ac659cc0021d5ef4caff5e7a234d2145c..ebc95e94ee44a6d29481e6fc9e9c91c060a6aa8d 100644 (file)
@@ -134,6 +134,17 @@ AliMuonForwardTrack& AliMuonForwardTrack::operator=(const AliMuonForwardTrack& t
 
 //====================================================================================================================================================
 
+AliMuonForwardTrack::~AliMuonForwardTrack() {
+
+  delete fMUONTrack;
+  delete fMCTrackRef;
+  fMFTClusters->Delete();
+  delete fMFTClusters;
+  
+}
+
+//====================================================================================================================================================
+
 void AliMuonForwardTrack::SetMUONTrack(AliMUONTrack *MUONTrack) {
 
   if (fMUONTrack) {
index a108ad26aeba56ac5ddb68ab18f615120e7c9399..939009e003a70e1b6b1da7cf2a181e7ddc798e3f 100644 (file)
@@ -36,7 +36,7 @@ public:
   AliMuonForwardTrack(const AliMuonForwardTrack&);
   AliMuonForwardTrack &operator=(const AliMuonForwardTrack&);
   
-  virtual ~AliMuonForwardTrack() {}
+  virtual ~AliMuonForwardTrack();
 
   void SetMUONTrack(AliMUONTrack *MUONTrack);
   void SetMCTrackRef(TParticle *MCTrackRef);
index e3e1a5cf44bfc99e3422ff20c36841e9254e266a..d9b5f26cdc5c8dced43530f91fce91fe5dcc64fb 100644 (file)
@@ -87,9 +87,9 @@ AliMuonForwardTrackAnalysis::AliMuonForwardTrackAnalysis():
   fUseBransonForKinematics(kFALSE),
   fCutOnOffsetChi2(kFALSE),
   fCenterOffset(0.), 
-  fCenterChi2(1.), 
+  fCenterChi2(0.), 
   fScaleOffset(250.), 
-  fScaleChi2(4.5),
+  fScaleChi2(9.0),
   fRadiusCut(1.)
 {
 
@@ -408,7 +408,7 @@ void AliMuonForwardTrackAnalysis::BookHistos() {
   fHistOffsetSingleMuons  = new TH1D("fHistOffsetSingleMuons",  "Offset for single muons",          200, 0, 2000);
   fHistWOffsetSingleMuons = new TH1D("fHistWOffsetSingleMuons", "Weighted Offset for single muons", 300, 0, 15);  
 
-  fHistSingleMuonsPtRapidity = new TH2D("fHistSingleMuonsPtRapidity", "Phase Space for single muons", 10, -4, -2.5, 10, 0.5, 5.5);
+  fHistSingleMuonsPtRapidity = new TH2D("fHistSingleMuonsPtRapidity", "Phase Space for single muons", 100, -4.5, -2., 100, 0., 10.);
   fHistSingleMuonsOffsetChi2 = new TH2D("fHistSingleMuonsOffsetChi2", "Offset vs #chi^{2}/ndf for single muons", 400, 0, 4000, 100, 0, 20);
 
   fHistOffsetSingleMuonsX -> SetXTitle("Offset(X)  [#mum]");
index f922c3ed8c29b57aab34d9de136e7f634a6f895b..9e39a5f50945cc6db9b87afd6a3e8a250b619834 100644 (file)
@@ -33,7 +33,7 @@ public:
   AliMuonForwardTrackPair(const AliMuonForwardTrackPair&);
   AliMuonForwardTrackPair &operator=(const AliMuonForwardTrackPair&);
   
-  virtual ~AliMuonForwardTrackPair() {}
+  virtual ~AliMuonForwardTrackPair() { fMuonForwardTracks->Delete(); delete fMuonForwardTracks; }
 
   void SetTrack(Int_t iTrack, AliMuonForwardTrack *track);
   AliMuonForwardTrack* GetTrack(Int_t iTrack) {