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#include <Rtypes.h>
32#include <RtypesCore.h>
33#include <string_view>
34#include <vector>
35
36constexpr auto CLUSTER_FINDER_DISTANCE = 7.5; // cm
37
38class R3BNeulandClusterFinder : public FairTask
39{
40 public:
41 explicit R3BNeulandClusterFinder(double dist_x = 1. * CLUSTER_FINDER_DISTANCE,
42 double dist_y = 1. * CLUSTER_FINDER_DISTANCE,
43 double dist_z = 2. * CLUSTER_FINDER_DISTANCE,
44 double dist_t = 1.,
45 std::string_view input = "NeulandHits",
46 std::string_view output = "NeulandClusters");
47
48 R3BNeulandClusterFinder(std::string_view input, std::string_view output)
51 }
52 {
53 }
54
55 private:
56 Neuland::ClusteringEngine<R3BNeulandHit> fClusteringEngine;
59
60 std::vector<R3BNeulandHit> neuland_hits_buffer_;
61 std::vector<std::vector<R3BNeulandHit>> clustered_hits_buffer_;
62
63 auto Init() -> InitStatus override;
64 void Exec(Option_t* /*option*/) override;
66};
constexpr auto CLUSTER_FINDER_DISTANCE
NeuLAND cluster finder task.
std::vector< R3BNeulandHit > neuland_hits_buffer_
ClassDefOverride(R3BNeulandClusterFinder, 0)
R3BNeulandClusterFinder(std::string_view input, std::string_view output)
R3B::OutputVectorConnector< R3BNeulandCluster > fClusters
R3B::InputVectorConnector< R3BNeulandHit > fDigis
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")
std::vector< std::vector< R3BNeulandHit > > clustered_hits_buffer_
Neuland::ClusteringEngine< R3BNeulandHit > fClusteringEngine
auto Init() -> InitStatus override
InputConnector< std::vector< ElementType > > InputVectorConnector
OutputConnector< std::vector< ElementType > > OutputVectorConnector