R3BROOT
R3B analysis software
Loading...
Searching...
No Matches
R3BNeulandNeutronsRValue.h
Go to the documentation of this file.
1#pragma once
2
3#include "FairTask.h"
4#include "R3BNeulandCluster.h"
6#include "R3BNeulandNeutron.h"
7#include <R3BIOConnector.h>
8#include <Rtypes.h>
9#include <RtypesCore.h>
10#include <string>
11#include <string_view>
12#include <vector>
13
14class R3BNeulandNeutronsRValue : public FairTask
15{
16 public:
17 explicit R3BNeulandNeutronsRValue(double EkinRefMeV,
18 std::string_view inputMult = "NeulandMultiplicity",
19 std::string_view inputCluster = "NeulandClusters",
20 std::string_view output = "NeulandNeutrons");
21
22 private:
24 std::string fInputMultName;
28 std::vector<R3BNeulandCluster> cluster_buffer_;
29
30 auto Init() -> InitStatus override;
31 void Exec(Option_t* /*option*/) override;
32
33 void SortClustersByRValue(std::vector<R3BNeulandCluster>&) const;
34 void FilterClustersByKineticEnergy(std::vector<R3BNeulandCluster>&) const;
35
36 static void PrioritizeTimeWiseFirstCluster(std::vector<R3BNeulandCluster>&);
37 static void FilterClustersByEnergyDeposit(std::vector<R3BNeulandCluster>&);
38 static void FilterClustersByElasticScattering(std::vector<R3BNeulandCluster>&);
39
41};
static void FilterClustersByEnergyDeposit(std::vector< R3BNeulandCluster > &)
void Exec(Option_t *) override
void SortClustersByRValue(std::vector< R3BNeulandCluster > &) const
auto Init() -> InitStatus override
static void PrioritizeTimeWiseFirstCluster(std::vector< R3BNeulandCluster > &)
R3B::InputVectorConnector< R3BNeulandCluster > fClusters
static void FilterClustersByElasticScattering(std::vector< R3BNeulandCluster > &)
R3BNeulandNeutronsRValue(double EkinRefMeV, std::string_view inputMult="NeulandMultiplicity", std::string_view inputCluster="NeulandClusters", std::string_view output="NeulandNeutrons")
std::vector< R3BNeulandCluster > cluster_buffer_
ClassDefOverride(R3BNeulandNeutronsRValue, 1)
const R3BNeulandMultiplicity * fMultiplicity
R3B::OutputVectorConnector< R3BNeulandNeutron > fNeutrons
void FilterClustersByKineticEnergy(std::vector< R3BNeulandCluster > &) const
InputConnector< std::vector< ElementType > > InputVectorConnector
OutputConnector< std::vector< ElementType > > OutputVectorConnector