R3BROOT
R3B analysis software
Loading...
Searching...
No Matches
R3BNeulandNeutronsCheat.cxx
Go to the documentation of this file.
2#include "FairRootManager.h"
3
5 std::string_view inputHit,
6 std::string_view output)
7 : FairTask("R3BNeulandNeutronsCheat")
8 , fInputMultName(inputMult)
9 , fMultiplicity(nullptr)
10 , fHits(inputHit)
11 , fNeutrons(output)
12{
13}
14
16{
17 auto* ioman = FairRootManager::Instance();
18 if (ioman == nullptr)
19 {
20 LOG(fatal) << "TCAInputConnector: No FairRootManager";
21 return kFATAL;
22 }
23 fMultiplicity = ioman->InitObjectAs<const R3BNeulandMultiplicity*>(fInputMultName.c_str());
24
25 fHits.init();
26 fNeutrons.init();
27 return kSUCCESS;
28}
29
31{
32 fNeutrons.clear();
33
34 const auto& hits = fHits.get();
35 const auto mult = fMultiplicity->GetMultiplicity();
36
37 for (size_t n = 0; n < hits.size() && n < mult; n++)
38 {
39 fNeutrons.get().emplace_back(hits.at(n));
40 }
41}
42
ClassImp(R3B::Neuland::Cal2HitPar)
R3BNeulandNeutronsCheat(std::string_view inputMult="NeulandMultiplicity", std::string_view inputHit="NeulandPrimaryHits", std::string_view output="NeulandNeutrons")
void Exec(Option_t *) override
auto Init() -> InitStatus override