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 <utility> // for pair
15
16#include <stdio.h> // for printf
17
18using std::map;
19//_______________________________________________________________________________
20CbmTrdParSet::CbmTrdParSet(const char* name, const char* title, const char* context)
21 : FairParGenericSet(name, title, context)
22 , fNrOfModules(0)
23 , fModuleMap()
24{
25 //printf("%s (%s, %s, %s)\n", GetName(), name, title, context);
26}
27
28//_______________________________________________________________________________
30{
31 // for (map<Int_t, CbmTrdParMod*>::iterator imod = fModuleMap.begin(); imod != fModuleMap.end(); imod++)
32 // if (imod->second) delete imod->second; // TODO check ownership of module parameters
33 fModuleMap.clear();
34}
35
36//_______________________________________________________________________________
37Int_t CbmTrdParSet::GetModuleId(Int_t i) const
38{
39 if (i < 0 || i >= fNrOfModules) return -1;
40 Int_t j(0);
41 for (map<Int_t, CbmTrdParMod*>::const_iterator imod = fModuleMap.begin(); imod != fModuleMap.end(); imod++, j++) {
42 if (j < i) continue;
43 return imod->first;
44 }
45 return -1;
46}
47
48//_______________________________________________________________________________
50{
51 map<Int_t, CbmTrdParMod*>::const_iterator imod = fModuleMap.find(detId);
52 if (imod == fModuleMap.end()) return nullptr;
53 return imod->second;
54}
55
56//_______________________________________________________________________________
58{
59 map<Int_t, CbmTrdParMod*>::const_iterator imod = fModuleMap.find(detId);
60 if (imod == fModuleMap.end()) return nullptr;
61 return imod->second;
62}
63
64//_______________________________________________________________________________
65Bool_t CbmTrdParSet::getParams(FairParamList* l)
66{
67 if (!l) return kFALSE;
68 l->print();
69 return kTRUE;
70}
71
72
73//_______________________________________________________________________________
74void CbmTrdParSet::putParams(FairParamList* /*l*/)
75{
76 printf("%s(%s)::putParams not implemented \n", GetName(), GetTitle());
77}
78
79//_______________________________________________________________________________
81{
82 fModuleMap[mod->GetModuleId()] = mod;
84}
85
86//_______________________________________________________________________________
87void CbmTrdParSet::Print(Option_t* opt) const
88{
89 printf(" %s Modules[%d]\n", GetName(), fNrOfModules);
90 for (auto imod : fModuleMap) {
91 printf(" %d %s(%s)\n", imod.first, imod.second->GetName(), imod.second->GetTitle());
92 imod.second->Print(opt);
93 }
94}
95
ClassImp(CbmConverterManager)
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)