R3BROOT
R3B analysis software
Loading...
Searching...
No Matches
R3BNeulandMultiplicityBayesPar.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#ifndef R3BNEULANDMULTIPLICITYBAYESPAR_H
15#define R3BNEULANDMULTIPLICITYBAYESPAR_H
16
17#include "FairParGenericSet.h"
18#include "FairParamList.h"
20#include "TArrayD.h"
21#include <RtypesCore.h>
22#include <array>
23
24class R3BNeulandMultiplicityBayesPar : public FairParGenericSet
25{
26 public:
27 explicit R3BNeulandMultiplicityBayesPar(const char* name = "R3BNeulandMultiplicityBayesPar",
28 const char* title = "Neuland Multiplicity Bayes Parameters",
29 const char* context = "TestDefaultContext");
31
32 void clear() override;
33 void putParams(FairParamList*) override;
34 Bool_t getParams(FairParamList*) override;
35 // void printParams() override;
36
37 void Fill(int n, int nHits, int nClusters, double Edep);
38 bool CheckIfProperlyLoaded() const;
39 R3BNeulandMultiplicity::MultiplicityProbabilities GetProbabilities(int nHits, int nClusters, int Edep) const;
40
41 TArrayD GetHitDensity(int n) const { return fHits.at(n); }
42 TArrayD GetClusterDensity(int n) const { return fClusters.at(n); }
43 TArrayD GetEdepDensity(int n) const { return fEdep.at(n); }
44
45 void Finish();
46
47 private:
48 std::array<TArrayD, NEULAND_MAX_MULT> fHits;
49 std::array<TArrayD, NEULAND_MAX_MULT> fClusters;
50 std::array<TArrayD, NEULAND_MAX_MULT> fEdep;
51 mutable bool fIsProperlyLoaded;
52
55
56 ClassDefOverride(R3BNeulandMultiplicityBayesPar, 1)
57};
58
59#endif // R3BNEULANDMULTIPLICITYBAYESPAR_H
std::array< TArrayD, NEULAND_MAX_MULT > fHits
R3BNeulandMultiplicityBayesPar(const char *name="R3BNeulandMultiplicityBayesPar", const char *title="Neuland Multiplicity Bayes Parameters", const char *context="TestDefaultContext")
std::array< TArrayD, NEULAND_MAX_MULT > fClusters
R3BNeulandMultiplicityBayesPar & operator=(const R3BNeulandMultiplicityBayesPar &)
R3BNeulandMultiplicity::MultiplicityProbabilities GetProbabilities(int nHits, int nClusters, int Edep) const
Bool_t getParams(FairParamList *) override
R3BNeulandMultiplicityBayesPar(const R3BNeulandMultiplicityBayesPar &)
std::array< TArrayD, NEULAND_MAX_MULT > fEdep
void Fill(int n, int nHits, int nClusters, double Edep)
std::array< double, NEULAND_MAX_MULT > MultiplicityProbabilities