PandaRoot
BSEmcBarrelDigiNonuniformityPar.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 #ifndef BSEMCBARRELDIGINONUNIFORMITYPAR_HH
14 #define BSEMCBARRELDIGINONUNIFORMITYPAR_HH
15 #include <map>
16 #include <vector>
17 
18 #include "Rtypes.h"
19 #include "RtypesCore.h"
20 #include "TObject.h"
21 
22 #include "FairParGenericSet.h"
23 #include "FairParamList.h"
24 
25 class FairParamList;
26 class TBuffer;
27 class TClass;
28 class TMemberInspector;
29 
39 class BSEmcBarrelDigiNonuniParObject : public TObject {
40  public:
41  void SetNonuniformity(Int_t t_crystaltype, Double_t *t_pars);
42  void GetNonuniformity(Int_t t_crystaltype, Double_t *t_pars);
43  const std::map<Int_t, std::vector<Double_t>> &GetMap() const { return fNonUniPars; }
44  BSEmcBarrelDigiNonuniParObject() : fNonUniPars() { fNonUniPars.clear(); };
46 
47  private:
48  std::map<Int_t, std::vector<Double_t>> fNonUniPars{};
49  ClassDef(BSEmcBarrelDigiNonuniParObject, 1);
50 };
51 
61 class BSEmcBarrelDigiNonuniformityPar : public FairParGenericSet {
62  public:
63  void GetNonuniformityParameters(Int_t t_detId, Double_t *t_pars);
64  void SetNonuniParObject(BSEmcBarrelDigiNonuniParObject *t_parObject) { fParObject = t_parObject; };
65  BSEmcBarrelDigiNonuniformityPar(const char *t_name = "PndEmcDigiPar", const char *t_title = "Emc digi parameter", const char *t_context = "TestDefaultContext");
67 
68  virtual void clear(void) /*override*/ {};
69 
70  virtual void putParams(FairParamList *t_list) /*override*/;
71  virtual Bool_t getParams(FairParamList *t_list) /*override*/;
72 
73  private:
74  BSEmcBarrelDigiNonuniParObject *fParObject{nullptr};
75 
77  BSEmcBarrelDigiNonuniformityPar &operator=(const BSEmcBarrelDigiNonuniformityPar & /*unused*/) { return *this; };
78 
80 };
81 
82 #endif /*BSEMCBARRELDIGINONUNIFORMITYPAR_HH*/
Parameter to load Values relevant for the non-uniform lightyield of Barrel crystals.
const std::map< Int_t, std::vector< Double_t > > & GetMap() const
void SetNonuniformity(Int_t t_crystaltype, Double_t *t_pars)
void GetNonuniformity(Int_t t_crystaltype, Double_t *t_pars)
void SetNonuniParObject(BSEmcBarrelDigiNonuniParObject *t_parObject)
Parameter object containing Values relevant for the non-uniform lightyield of Barrel crystals...