R3BROOT
R3B analysis software
Loading...
Searching...
No Matches
R3BNeulandMultiplicityCheat.cxx
Go to the documentation of this file.
2#include "FairRootManager.h"
3#include "R3BException.h"
5#include <FairTask.h>
6#include <Rtypes.h>
7#include <RtypesCore.h>
8#include <memory>
9#include <string_view>
10
11R3BNeulandMultiplicityCheat::R3BNeulandMultiplicityCheat(std::string_view input, std::string_view output)
12 : FairTask("R3BNeulandMultiplicityCheat")
13 , fPrimaryHits(input)
14 , fMultiplicity(std::make_unique<R3BNeulandMultiplicity>())
16 , fOutputName(output)
17{
18}
19
21{
22 // Input
23 fPrimaryHits.init();
24
25 // Output
26 auto* ioman = FairRootManager::Instance();
27 if (ioman == nullptr)
28 {
29 throw R3B::runtime_error("TCAInputConnector: No FairRootManager");
30 }
31 ioman->RegisterAny(fOutputName.c_str(), multiplicity_ptr_, true);
32
33 return kSUCCESS;
34}
35
36void R3BNeulandMultiplicityCheat::Exec(Option_t* /*option*/)
37{
38 fMultiplicity->m.fill(0.);
39 fMultiplicity->m.at(fPrimaryHits.size()) = 1.;
40}
41
ClassImp(R3B::Neuland::Cal2HitPar)
auto Init() -> InitStatus override
R3BNeulandMultiplicity * multiplicity_ptr_
std::unique_ptr< R3BNeulandMultiplicity > fMultiplicity
R3BNeulandMultiplicityCheat(std::string_view input="NeulandPrimaryHits", std::string_view output="NeulandMultiplicity")
R3B::InputVectorConnector< R3BNeulandHit > fPrimaryHits