CbmRoot
Loading...
Searching...
No Matches
CbmTofDigiPar.cxx
Go to the documentation of this file.
1/* Copyright (C) 2020 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Florian Uhlig [committer] */
4
5#include "CbmTofDigiPar.h"
6
7#include "CbmTofCell.h" // for CbmTofCell
8
9#include <FairParGenericSet.h> // for FairParGenericSet
10#include <FairParamList.h> // for FairParamList
11#include <Logger.h> // for LOG, Logger
12
13#include <TArrayD.h> // for TArrayD
14#include <TArrayI.h> // for TArrayI
15#include <TString.h> // for TString
16
17#include <utility> // for pair
18
20
21 CbmTofDigiPar::CbmTofDigiPar(const char* name, const char* title, const char* context)
22 : FairParGenericSet(name, title, context)
23 , fCellMap()
24 , fCellIdArray()
25 , fCellXArray()
26 , fCellYArray()
27 , fCellZArray()
28 , fCellDxArray()
29 , fCellDyArray()
30 , fNrOfCells(-1)
31{
32 detName = "Tof";
33}
34
36{
37 LOG(debug4) << "Enter CbmTofDigiPar destructor";
38 std::map<Int_t, CbmTofCell*>::iterator fCellMapIt;
39 for (fCellMapIt = fCellMap.begin(); fCellMapIt != fCellMap.end(); ++fCellMapIt) {
40 delete fCellMapIt->second;
41 }
42 fCellMap.clear();
43 clear();
44 LOG(debug4) << "Leave CbmTofDigiPar destructor";
45}
46
48{
49 status = kFALSE;
50 resetInputVersions();
51}
52
53void CbmTofDigiPar::putParams(FairParamList* l)
54{
55 if (!l) {
56 return;
57 }
58
59 l->add("NrOfCells", fNrOfCells);
60 l->add("CellIdArray", fCellIdArray);
61 l->add("CellXArray", fCellXArray);
62 l->add("CellYArray", fCellYArray);
63 l->add("CellZArray", fCellZArray);
64 l->add("CellDxArray", fCellDxArray);
65 l->add("CellDyArray", fCellDyArray);
66}
67
68Bool_t CbmTofDigiPar::getParams(FairParamList* l)
69{
70 if (!l) {
71 return kFALSE;
72 }
73
74 LOG(debug2) << "Get the tof digitization parameters.";
75
76 if (!l->fill("NrOfCells", &fNrOfCells)) return kFALSE;
77
78 LOG(debug2) << "There are " << fNrOfCells << " cells to be read.";
79
81 if (!l->fill("CellIdArray", &fCellIdArray)) return kFALSE;
82
84 if (!l->fill("CellXArray", &fCellXArray)) return kFALSE;
85
87 if (!l->fill("CellYArray", &fCellYArray)) return kFALSE;
88
90 if (!l->fill("CellZArray", &fCellZArray)) return kFALSE;
91
93 if (!l->fill("CellDxArray", &fCellDxArray)) return kFALSE;
94
96 if (!l->fill("CellDyArray", &fCellDyArray)) return kFALSE;
97
98
99 for (Int_t i = 0; i < fNrOfCells; i++) {
102 }
103 return kTRUE;
104}
ClassImp(CbmTofDigiPar) CbmTofDigiPar
std::map< Int_t, CbmTofCell * > fCellMap
TArrayD fCellDyArray
TArrayD fCellXArray
void putParams(FairParamList *)
TArrayD fCellDxArray
TArrayD fCellYArray
Bool_t getParams(FairParamList *)
TArrayD fCellZArray
void clear(void)
TArrayI fCellIdArray
CbmTofDigiPar(const char *name="CbmTofDigiPar", const char *title="Digitization parameters for the TOF detector", const char *context="TestDefaultContext")