R3BROOT
R3B analysis software
Loading...
Searching...
No Matches
R3BNeulandClusterFinder.h
Go to the documentation of this file.
1/******************************************************************************
2 * Copyright (C) 2019 GSI Helmholtzzentrum für Schwerionenforschung GmbH *
3 * Copyright (C) 2019-2025 Members of R3B Collaboration *
4 * *
5 * This software is distributed under the terms of the *
6 * GNU General Public Licence (GPL) version 3, *
7 * copied verbatim in the file "LICENSE". *
8 * *
9 * In applying this license GSI does not waive the privileges and immunities *
10 * granted to it by virtue of its status as an Intergovernmental Organization *
11 * or submit itself to any jurisdiction. *
12 ******************************************************************************/
13
14#pragma once
15
25
26#include "ClusteringEngine.h"
27#include "FairTask.h"
28#include "R3BNeulandCluster.h"
29#include "R3BNeulandHit.h"
30#include <R3BIOConnector.h>
31
32constexpr auto CLUSTER_FINDER_DISTANCE = 7.5; // cm
33
34class R3BNeulandClusterFinder : public FairTask
35{
36 public:
37 explicit R3BNeulandClusterFinder(double dist_x = 1. * CLUSTER_FINDER_DISTANCE,
38 double dist_y = 1. * CLUSTER_FINDER_DISTANCE,
39 double dist_z = 2. * CLUSTER_FINDER_DISTANCE,
40 double dist_t = 1.,
41 std::string_view input = "NeulandHits",
42 std::string_view output = "NeulandClusters");
43
44 R3BNeulandClusterFinder(std::string_view input, std::string_view output)
47 }
48 {
49 }
50
51 private:
52 Neuland::ClusteringEngine<R3BNeulandHit> fClusteringEngine;
55
56 std::vector<R3BNeulandHit> neuland_hits_buffer_;
57 std::vector<std::vector<R3BNeulandHit>> clustered_hits_buffer_;
58
59 auto Init() -> InitStatus override;
60 void Exec(Option_t* /*option*/) override;
61 ClassDefOverride(R3BNeulandClusterFinder, 0);
62};
constexpr auto CLUSTER_FINDER_DISTANCE
NeuLAND cluster finder task.
R3BNeulandClusterFinder(std::string_view input, std::string_view output)
void Exec(Option_t *) override
R3BNeulandClusterFinder(double dist_x=1. *CLUSTER_FINDER_DISTANCE, double dist_y=1. *CLUSTER_FINDER_DISTANCE, double dist_z=2. *CLUSTER_FINDER_DISTANCE, double dist_t=1., std::string_view input="NeulandHits", std::string_view output="NeulandClusters")
auto Init() -> InitStatus override
InputConnector< std::vector< ElementType > > InputVectorConnector
OutputConnector< std::vector< ElementType > > OutputVectorConnector