Skip to content

Commit 8e817e6

Browse files
committed
Fail test when calling function twice
Change the Initialize function such that it asserts when the function is called twice.
1 parent 32b25f3 commit 8e817e6

2 files changed

Lines changed: 12 additions & 0 deletions

File tree

examples/simulation/Tutorial1/src/FairTutorialDet1.cxx

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ FairTutorialDet1::FairTutorialDet1()
3131
, fTime(-1.)
3232
, fLength(-1.)
3333
, fELoss(-1)
34+
, fIsInitialised(kFALSE)
3435
, fFairTutorialDet1PointCollection(new TClonesArray("FairTutorialDet1Point"))
3536
{}
3637

@@ -43,6 +44,7 @@ FairTutorialDet1::FairTutorialDet1(const char* name, Bool_t active)
4344
, fTime(-1.)
4445
, fLength(-1.)
4546
, fELoss(-1)
47+
, fIsInitialised(kFALSE)
4648
, fFairTutorialDet1PointCollection(new TClonesArray("FairTutorialDet1Point"))
4749
{}
4850

@@ -55,6 +57,7 @@ FairTutorialDet1::FairTutorialDet1(const FairTutorialDet1& rhs)
5557
, fTime(-1.)
5658
, fLength(-1.)
5759
, fELoss(-1)
60+
, fIsInitialised(kFALSE)
5861
, fFairTutorialDet1PointCollection(new TClonesArray("FairTutorialDet1Point"))
5962
{}
6063

@@ -68,7 +71,14 @@ FairTutorialDet1::~FairTutorialDet1()
6871

6972
void FairTutorialDet1::Initialize()
7073
{
74+
75+
LOG(info) << "Initializing FairTutorialDet1";
76+
77+
// Prevent duplicate initialisation
78+
assert(!fIsInitialised);
79+
7180
FairDetector::Initialize();
81+
fIsInitialised = kTRUE;
7282
/*
7383
FairRuntimeDb* rtdb= FairRun::Instance()->GetRuntimeDb();
7484
FairTutorialDet1GeoPar* par=(FairTutorialDet1GeoPar*)(rtdb->getContainer("FairTutorialDet1GeoPar"));

examples/simulation/Tutorial1/src/FairTutorialDet1.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,8 @@ class FairTutorialDet1 : public FairDetector
9595
Double32_t fLength; //! length
9696
Double32_t fELoss; //! energy loss
9797

98+
Bool_t fIsInitialised; //! prevent double initilization
99+
98100
/** container for data points */
99101

100102
TClonesArray* fFairTutorialDet1PointCollection;

0 commit comments

Comments
 (0)