Skip to content

Commit f4b418b

Browse files
committed
style(analysis/eventFilter): TCutG is now a unique pointer
1 parent 489f76d commit f4b418b

2 files changed

Lines changed: 24 additions & 14 deletions

File tree

analysis/offline/R3BEventFilter.cxx

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,6 @@ void R3BEventFilter::SetParContainers()
5656
return;
5757
}
5858

59-
R3BEventFilter::~R3BEventFilter() { delete fCutFrsId; }
60-
6159
void R3BEventFilter::SetParameter()
6260
{
6361
//--- Parameter Containers ---
@@ -77,14 +75,15 @@ InitStatus R3BEventFilter::Init()
7775

7876
fFrsData = dynamic_cast<TClonesArray*>(mgr->GetObject("FrsData"));
7977

80-
if (fCutFrsId == nullptr)
78+
if (!fCutFrsId)
8179
{
82-
fCutFrsId = new TCutG("fCutFrsId", 5);
83-
fCutFrsId->SetPoint(0, 0.5, 0.5);
84-
fCutFrsId->SetPoint(1, 4., 0.5);
85-
fCutFrsId->SetPoint(2, 4., 4.);
86-
fCutFrsId->SetPoint(3, 0.5, 4.);
87-
fCutFrsId->SetPoint(4, 0.5, 0.5);
80+
auto tmp = std::make_unique<TCutG>("fCutFrsId", 5);
81+
tmp->SetPoint(0, 0.5, 0.5);
82+
tmp->SetPoint(1, 4., 0.5);
83+
tmp->SetPoint(2, 4., 4.);
84+
tmp->SetPoint(3, 0.5, 4.);
85+
tmp->SetPoint(4, 0.5, 0.5);
86+
fCutFrsId = std::move(tmp);
8887
}
8988

9089
if (fChargeLimits.empty())

analysis/offline/R3BEventFilter.h

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -85,10 +85,21 @@ class R3BEventFilter : public FairTask
8585

8686
void SetParContainers() override;
8787

88-
inline void SetTCutFrsId(TCutG* tcut) { fCutFrsId = tcut; };
89-
inline void SetChargeLimits(const std::vector<std::vector<double>>& vec) { fChargeLimits = vec; }
90-
inline void SetTofd() { fUseTofd = true; }
91-
inline void UseTwoPlanes() { fUseAllPlanes = false; }
88+
void SetTCutFrsId(const TCutG* cut)
89+
{
90+
if (cut)
91+
{
92+
fCutFrsId.reset(static_cast<TCutG*>(cut->Clone()));
93+
fCutFrsId->SetName("fCutFrsId");
94+
}
95+
else
96+
{
97+
fCutFrsId.reset();
98+
}
99+
}
100+
void SetChargeLimits(const std::vector<std::vector<double>>& vec) { fChargeLimits = vec; }
101+
void SetTofd() { fUseTofd = true; }
102+
void UseTwoPlanes() { fUseAllPlanes = false; }
92103

93104
private:
94105
void SetParameter();
@@ -98,7 +109,7 @@ class R3BEventFilter : public FairTask
98109
TClonesArray* fTofdHit = nullptr;
99110
TClonesArray* fFrsData = nullptr;
100111

101-
TCutG* fCutFrsId = nullptr;
112+
std::unique_ptr<TCutG> fCutFrsId;
102113
std::vector<std::vector<double>> fChargeLimits;
103114

104115
bool fUseTofd = false;

0 commit comments

Comments
 (0)