1 /***************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
19 #include "AliCDBEntry.h"
20 #include "AliPMDMappingData.h"
23 ClassImp(AliPMDMappingData)
25 AliPMDMappingData::AliPMDMappingData()
27 // Default constructor
30 // ----------------------------------------------------------------- //
31 AliPMDMappingData::AliPMDMappingData(const char* name)
34 TString namst = "Calib_";
36 SetName(namst.Data());
37 SetTitle(namst.Data());
41 // ----------------------------------------------------------------- //
42 AliPMDMappingData::AliPMDMappingData(const AliPMDMappingData& mapda) :
46 SetName(mapda.GetName());
47 SetTitle(mapda.GetName());
49 for(Int_t iddl = 0; iddl < kDdl; iddl++)
51 for(Int_t imod = 0; imod < 48; imod++)
53 fBeginPatchBus[iddl][imod] = mapda.GetBeginPatchBus(iddl,imod);
54 fEndPatchBus[iddl][imod] = mapda.GetEndPatchBus(iddl,imod);
56 for(Int_t ibus = 0; ibus < kBus; ibus++)
58 fModuleNo[iddl][ibus] = mapda.GetModuleNo(iddl,ibus);
59 fMcmperBus[iddl][ibus] = mapda.GetMcmperBus(iddl,ibus);
60 fStartRowBus[iddl][ibus] = mapda.GetStartRowBus(iddl,ibus);
61 fEndRowBus[iddl][ibus] = mapda.GetEndRowBus(iddl,ibus);
62 fStartColBus[iddl][ibus] = mapda.GetStartColBus(iddl,ibus);
63 fEndColBus[iddl][ibus] = mapda.GetEndColBus(iddl,ibus);
68 // ----------------------------------------------------------------- //
69 AliPMDMappingData &AliPMDMappingData::operator =(const AliPMDMappingData& mapda)
72 SetName(mapda.GetName());
73 SetTitle(mapda.GetName());
76 for(Int_t iddl = 0; iddl < kDdl; iddl++)
78 for(Int_t imod = 0; imod < 48; imod++)
80 fBeginPatchBus[iddl][imod] = mapda.GetBeginPatchBus(iddl,imod);
81 fEndPatchBus[iddl][imod] = mapda.GetEndPatchBus(iddl,imod);
83 for(Int_t ibus = 0; ibus < kBus; ibus++)
85 fModuleNo[iddl][ibus] = mapda.GetModuleNo(iddl,ibus);
86 fMcmperBus[iddl][ibus] = mapda.GetMcmperBus(iddl,ibus);
87 fStartRowBus[iddl][ibus] = mapda.GetStartRowBus(iddl,ibus);
88 fEndRowBus[iddl][ibus] = mapda.GetEndRowBus(iddl,ibus);
89 fStartColBus[iddl][ibus] = mapda.GetStartColBus(iddl,ibus);
90 fEndColBus[iddl][ibus] = mapda.GetEndColBus(iddl,ibus);
96 // ----------------------------------------------------------------- //
97 AliPMDMappingData::~AliPMDMappingData()
101 // ----------------------------------------------------------------- //
102 void AliPMDMappingData::Reset()
104 for(Int_t i = 0; i < 6; i++)
106 for(Int_t j = 0; j < 48; j++)
108 fBeginPatchBus[i][j] = -1;
109 fEndPatchBus[i][j] = -1;
113 for(Int_t iddl = 0; iddl < kDdl; iddl++)
115 for(Int_t ibus = 0; ibus < kBus; ibus++)
117 fModuleNo[iddl][ibus] = -1;
118 fMcmperBus[iddl][ibus] = -1;
119 fStartRowBus[iddl][ibus] = -1;
120 fEndRowBus[iddl][ibus] = -1;
121 fStartColBus[iddl][ibus] = -1;
122 fEndColBus[iddl][ibus] = -1;
127 // ----------------------------------------------------------------- //
128 Int_t AliPMDMappingData:: GetBeginPatchBus(Int_t iddl, Int_t imod) const
130 return fBeginPatchBus[iddl][imod];
132 // ----------------------------------------------------------------- //
133 Int_t AliPMDMappingData:: GetEndPatchBus(Int_t iddl, Int_t imod) const
135 return fEndPatchBus[iddl][imod];
137 // ----------------------------------------------------------------- //
138 Int_t AliPMDMappingData:: GetModuleNo(Int_t iddl, Int_t ibus) const
140 return fModuleNo[iddl][ibus];
142 // ----------------------------------------------------------------- //
143 Int_t AliPMDMappingData:: GetMcmperBus(Int_t iddl, Int_t ibus) const
145 return fMcmperBus[iddl][ibus];
147 // ----------------------------------------------------------------- //
148 Int_t AliPMDMappingData:: GetStartRowBus(Int_t iddl, Int_t ibus) const
150 return fStartRowBus[iddl][ibus];
152 // ----------------------------------------------------------------- //
153 Int_t AliPMDMappingData:: GetEndRowBus(Int_t iddl, Int_t ibus) const
155 return fEndRowBus[iddl][ibus];
157 // ----------------------------------------------------------------- //
158 Int_t AliPMDMappingData:: GetStartColBus(Int_t iddl, Int_t ibus) const
160 return fStartColBus[iddl][ibus];
162 // ----------------------------------------------------------------- //
163 Int_t AliPMDMappingData:: GetEndColBus(Int_t iddl, Int_t ibus) const
165 return fEndColBus[iddl][ibus];
167 // ----------------------------------------------------------------- //
168 void AliPMDMappingData::SetPatchBus(Int_t iddl, Int_t imod,
169 Int_t bpatchbus, Int_t epatchbus)
171 fBeginPatchBus[iddl][imod] = bpatchbus;
172 fEndPatchBus[iddl][imod] = epatchbus;
174 // ----------------------------------------------------------------- //
175 void AliPMDMappingData::SetModuleNo(Int_t iddl, Int_t ibus, Int_t modno)
177 fModuleNo[iddl][ibus] = modno;
179 // ----------------------------------------------------------------- //
180 void AliPMDMappingData::SetMcmperBus(Int_t iddl, Int_t ibus, Int_t totmcm)
182 fMcmperBus[iddl][ibus] = totmcm;
185 // ----------------------------------------------------------------- //
186 void AliPMDMappingData::SetRowBus(Int_t iddl,Int_t ibus,Int_t rows,Int_t rowe)
188 fStartRowBus[iddl][ibus] = rows;
189 fEndRowBus[iddl][ibus] = rowe;
192 // ----------------------------------------------------------------- //
193 void AliPMDMappingData::SetColBus(Int_t iddl,Int_t ibus,Int_t cols,Int_t cole)
195 fStartColBus[iddl][ibus] = cols;
196 fEndColBus[iddl][ibus] = cole;
198 // ----------------------------------------------------------------- //
200 void AliPMDMappingData::Print(Option_t *) const
202 printf("\n ######Mapping File for each ddl and patchbus ####\n");
205 for(Int_t iddl = 0; iddl < kDdl; iddl++)
207 for(Int_t imod = 0; imod < 48; imod++)
209 printf("%d %d %d %d \n",iddl, imod, fBeginPatchBus[iddl][imod],
210 fEndPatchBus[iddl][imod]);
212 for(Int_t ibus = 0; ibus < kBus; ibus++)
214 printf("%d %d %d %d %d %d %d %d\n",iddl, ibus,
215 fModuleNo[iddl][ibus], fMcmperBus[iddl][ibus],
216 fStartRowBus[iddl][ibus], fEndRowBus[iddl][ibus],
217 fStartColBus[iddl][ibus], fEndColBus[iddl][ibus]);