+ p=new AliPositionObj();
+ p->Load(r);
+ fPositions->EnterObject(row,col,p);
+ }
+
+ // Update the position of the calorimeter module itself as well if it exists
+ AliCalmodule* m=GetModule(row,col);
+ if (m) m->SetPosition(r);
+}
+///////////////////////////////////////////////////////////////////////////
+Int_t AliCalorimeter::GetEdgeValue(Int_t row,Int_t col)
+{
+// Provide the value of the edge flag of a certain module.
+
+ // Check for (row,col) boundaries.
+ if (row<1 || col<1 || (fNrows && fNcolumns && (row>fNrows || col>fNcolumns)))
+ {
+ cout << " *AliCalorimeter::GetEdgeValue* row,col : " << row << "," << col
+ << " out of range." << endl;
+ if (fNrows && fNcolumns) cout << " Nrows,Ncols = " << fNrows << "," << fNcolumns << endl;
+ return 0;
+ }
+
+ Int_t edge=0;
+
+ if (fAttributes)
+ {
+ if (row <= fAttributes->GetSize())
+ {
+ AliAttribObj* a=(AliAttribObj*)fAttributes->At(row-1);
+ if (a)
+ {
+ if (col <= a->GetNcalflags())
+ {
+ edge=a->GetEdgeValue(col);
+ return edge;
+ }
+ }
+ }
+ }
+
+ AliCalmodule* m=GetModule(row,col);
+ if (m) edge=m->GetEdgeValue();
+ return edge;
+}
+///////////////////////////////////////////////////////////////////////////
+Int_t AliCalorimeter::GetDeadValue(Int_t row,Int_t col)
+{
+// Provide the value of the dead flag of a certain module
+
+ // Check for (row,col) boundaries.
+ if (row<1 || col<1 || (fNrows && fNcolumns && (row>fNrows || col>fNcolumns)))
+ {
+ cout << " *AliCalorimeter::GetDeadValue* row,col : " << row << "," << col
+ << " out of range." << endl;
+ if (fNrows && fNcolumns) cout << " Nrows,Ncols = " << fNrows << "," << fNcolumns << endl;
+ return 0;
+ }
+
+ Int_t dead=0;
+
+ if (fAttributes)
+ {
+ if (row <= fAttributes->GetSize())
+ {
+ AliAttribObj* a=(AliAttribObj*)fAttributes->At(row-1);
+ if (a)
+ {
+ if (col <= a->GetNcalflags())
+ {
+ dead=a->GetDeadValue(col);
+ return dead;
+ }
+ }
+ }
+ }
+
+ AliCalmodule* m=GetModule(row,col);
+ if (m) dead=m->GetDeadValue();
+ return dead;
+}
+///////////////////////////////////////////////////////////////////////////
+Int_t AliCalorimeter::GetGainFlag(Int_t row,Int_t col)
+{
+// Provide the value of the gain flag of a certain module.
+
+ // Check for (row,col) boundaries.
+ if (row<1 || col<1 || (fNrows && fNcolumns && (row>fNrows || col>fNcolumns)))
+ {
+ cout << " *AliCalorimeter::GetGainFlag* row,col : " << row << "," << col