CbmRoot
Loading...
Searching...
No Matches
CbmTrdParSet.cxx
Go to the documentation of this file.
1/* Copyright (C) 2018-2020 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Florian Uhlig [committer], Alexandru Bercuci */
4
5#include "CbmTrdParSet.h"
6
7#include "CbmTrdParMod.h" // for CbmTrdParMod
8
9#include <FairParGenericSet.h> // for FairParGenericSet
10#include <FairParamList.h> // for FairParamList
11
12#include <TGenericClassInfo.h> // for TGenericClassInfo
13
14#include <cstdio> // for printf
15#include <utility> // for pair
16
17using std::map;
18//_______________________________________________________________________________
19CbmTrdParSet::CbmTrdParSet(const char* name, const char* title, const char* context)
20 : FairParGenericSet(name, title, context)
21 , fNrOfModules(0)
22 , fModuleMap()
23{
24 //printf("%s (%s, %s, %s)\n", GetName(), name, title, context);
25}
26
27//_______________________________________________________________________________
29{
30 // for (map<Int_t, CbmTrdParMod*>::iterator imod = fModuleMap.begin(); imod != fModuleMap.end(); imod++)
31 // if (imod->second) delete imod->second; // TODO check ownership of module parameters
32 fModuleMap.clear();
33}
34
35//_______________________________________________________________________________
37{
38 if (i < 0 || i >= fNrOfModules) return -1;
39 Int_t j(0);
40 for (map<Int_t, CbmTrdParMod*>::const_iterator imod = fModuleMap.begin(); imod != fModuleMap.end(); imod++, j++) {
41 if (j < i) continue;
42 return imod->first;
43 }
44 return -1;
45}
46
47//_______________________________________________________________________________
49{
50 map<Int_t, CbmTrdParMod*>::const_iterator imod = fModuleMap.find(detId);
51 if (imod == fModuleMap.end()) return nullptr;
52 return imod->second;
53}
54
55//_______________________________________________________________________________
57{
58 map<Int_t, CbmTrdParMod*>::const_iterator imod = fModuleMap.find(detId);
59 if (imod == fModuleMap.end()) return nullptr;
60 return imod->second;
61}
62
63//_______________________________________________________________________________
65{
66 if (!l) return kFALSE;
67 l->print();
68 return kTRUE;
69}
70
71
72//_______________________________________________________________________________
73void CbmTrdParSet::putParams(FairParamList* /*l*/)
74{
75 printf("%s(%s)::putParams not implemented \n", GetName(), GetTitle());
76}
77
78//_______________________________________________________________________________
80{
81 fModuleMap[mod->GetModuleId()] = mod;
83}
84
85//_______________________________________________________________________________
86void CbmTrdParSet::Print(Option_t* opt) const
87{
88 printf(" %s Modules[%d]\n", GetName(), fNrOfModules);
89 for (auto imod : fModuleMap) {
90 printf(" %d %s(%s)\n", imod.first, imod.second->GetName(), imod.second->GetTitle());
91 imod.second->Print(opt);
92 }
93}
94
ClassImp(CbmConverterManager)
int Int_t
bool Bool_t
Definition of generic parameters for one TRD module.
virtual int GetModuleId() const
std::map< Int_t, CbmTrdParMod * > fModuleMap
virtual ~CbmTrdParSet()
Destructor.
virtual void putParams(FairParamList *)
CbmTrdParSet(const char *name="CbmTrdParSet", const char *title="TRD parameters", const char *context="Default")
virtual Int_t GetModuleId(Int_t i) const
Int_t fNrOfModules
no of modules in the current run
virtual void Print(Option_t *opt="") const
virtual Bool_t getParams(FairParamList *)
virtual const CbmTrdParMod * GetModulePar(Int_t detId) const
virtual void addParam(CbmTrdParMod *mod)