Skip to content

Commit 9717b2e

Browse files
ChristianTackeGSIkarabowi
authored andcommitted
fix: Do not leak TArrayF in FairTutorialDet2DigiPar
1 parent 68f6ac1 commit 9717b2e

File tree

2 files changed

+17
-29
lines changed

2 files changed

+17
-29
lines changed

examples/simulation/Tutorial2/src/FairTutorialDet2DigiPar.cxx

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,21 +12,17 @@
1212

1313
#include "FairTutorialDet2DigiPar.h"
1414

15-
#include "FairLogger.h"
1615
#include "FairParamList.h"
1716

18-
#include <TArrayF.h>
1917
#include <TString.h>
18+
#include <fairlogger/Logger.h>
2019

2120
FairTutorialDet2DigiPar::FairTutorialDet2DigiPar(const char* name, const char* title, const char* context)
2221
: FairParGenericSet(name, title, context)
23-
, ftutdetdigipar(new TArrayF(10))
2422
, ftutdetdigiparsector()
2523
, ftutdetdigiparstation(-1)
2624
{
2725
detName = "TutorialDet";
28-
// ftutdetdigipar = new TArrayF(10);
29-
// ftutdetdigipar = new TArrayF(10);
3026
}
3127

3228
FairTutorialDet2DigiPar::~FairTutorialDet2DigiPar() { clear(); }
@@ -46,10 +42,10 @@ void FairTutorialDet2DigiPar::printparams()
4642
for (Int_t i = 0; i < size; i++) {
4743
LOG(info) << i << " :" << ftutdetdigiparsector.GetAt(i);
4844
}
49-
size = ftutdetdigipar->GetSize();
45+
size = ftutdetdigipar.GetSize();
5046
LOG(info) << "size: " << size;
5147
for (Int_t i = 0; i < size; i++) {
52-
LOG(info) << i << " :" << ftutdetdigipar->GetAt(i);
48+
LOG(info) << i << " :" << ftutdetdigipar.GetAt(i);
5349
}
5450
}
5551

@@ -73,8 +69,8 @@ void FairTutorialDet2DigiPar::putParams(FairParamList* l)
7369
zwischen[i] = ftutdetdigipar.GetAt(i);
7470
}
7571
*/
76-
ftutdetdigipar->Set(array_size);
77-
l->add("FairTutorialDet2DigiPar", *ftutdetdigipar);
72+
ftutdetdigipar.Set(array_size);
73+
l->add("FairTutorialDet2DigiPar", ftutdetdigipar);
7874
}
7975

8076
Bool_t FairTutorialDet2DigiPar::getParams(FairParamList* l)
@@ -103,9 +99,9 @@ Bool_t FairTutorialDet2DigiPar::getParams(FairParamList* l)
10399

104100
Int_t array_size = (count_sectors * 10 + ftutdetdigiparstation * 3);
105101
LOG(info) << "Array Size: " << array_size;
106-
ftutdetdigipar->Set(array_size);
102+
ftutdetdigipar.Set(array_size);
107103
// Float_t zwischen[array_size];
108-
if (!(l->fill("FairTutorialDet2DigiPar", ftutdetdigipar))) {
104+
if (!(l->fill("FairTutorialDet2DigiPar", &ftutdetdigipar))) {
109105
LOG(warn) << "Could not initialize FairTutorialDet2DigiPar";
110106
return kFALSE;
111107
}
Lines changed: 10 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/********************************************************************************
2-
* Copyright (C) 2014 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH *
2+
* Copyright (C) 2014-2023 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH *
33
* *
44
* This software is distributed under the terms of the *
55
* GNU Lesser General Public Licence (LGPL) version 3, *
@@ -16,10 +16,10 @@
1616
#include "FairParGenericSet.h"
1717

1818
#include <Rtypes.h>
19+
#include <TArrayF.h>
1920
#include <TArrayI.h>
2021

2122
class FairParamList;
22-
class TArrayF;
2323

2424
class FairTutorialDet2DigiPar : public FairParGenericSet
2525
{
@@ -29,33 +29,25 @@ class FairTutorialDet2DigiPar : public FairParGenericSet
2929
const char* title = "Tutorial Det digi parameters",
3030
const char* context = "Default");
3131

32+
FairTutorialDet2DigiPar(const FairTutorialDet2DigiPar&) = delete;
33+
FairTutorialDet2DigiPar& operator=(const FairTutorialDet2DigiPar&) = delete;
3234
/** Destructor **/
33-
virtual ~FairTutorialDet2DigiPar();
35+
~FairTutorialDet2DigiPar() override;
3436

35-
/** Initialisation from input device**/
36-
// virtual Bool_t init(FairParIo* input);
37-
38-
/** Output to file **/
39-
// virtual Int_t write(FairParIo* output);
40-
41-
// virtual void print();
4237
virtual void printparams();
4338

4439
/** Reset all parameters **/
45-
virtual void clear();
40+
void clear() override;
4641

47-
void putParams(FairParamList*);
48-
Bool_t getParams(FairParamList*);
42+
void putParams(FairParamList*) override;
43+
Bool_t getParams(FairParamList*) override;
4944

5045
private:
51-
TArrayF* ftutdetdigipar; //
46+
TArrayF ftutdetdigipar{10}; //
5247
TArrayI ftutdetdigiparsector; //
5348
Int_t ftutdetdigiparstation; //
5449

55-
FairTutorialDet2DigiPar(const FairTutorialDet2DigiPar&);
56-
FairTutorialDet2DigiPar& operator=(const FairTutorialDet2DigiPar&);
57-
58-
ClassDef(FairTutorialDet2DigiPar, 1);
50+
ClassDefOverride(FairTutorialDet2DigiPar, 1);
5951
};
6052

6153
#endif

0 commit comments

Comments
 (0)