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