hot cell class added
authorbasanta <basanta@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 9 Jun 2009 12:49:02 +0000 (12:49 +0000)
committerbasanta <basanta@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 9 Jun 2009 12:49:02 +0000 (12:49 +0000)
PMD/AliPMDHotData.cxx [new file with mode: 0644]
PMD/AliPMDHotData.h [new file with mode: 0644]
PMD/CMake_libPMDbase.txt
PMD/PMDbaseLinkDef.h
PMD/libPMDbase.pkg

diff --git a/PMD/AliPMDHotData.cxx b/PMD/AliPMDHotData.cxx
new file mode 100644 (file)
index 0000000..fbf5033
--- /dev/null
@@ -0,0 +1,138 @@
+/***************************************************************************
+ * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ *                                                                        *
+ * Author: The ALICE Off-line Project.                                    *
+ * Contributors are mentioned in the code where appropriate.              *
+ *                                                                        *
+ * Permission to use, copy, modify and distribute this software and its   *
+ * documentation strictly for non-commercial purposes is hereby granted   *
+ * without fee, provided that the above copyright notice appears in all   *
+ * copies and that both the copyright notice and this permission notice   *
+ * appear in the supporting documentation. The authors make no claims     *
+ * about the suitability of this software for any purpose. It is          *
+ * provided "as is" without express or implied warranty.                  *
+ **************************************************************************/
+//
+// Author : Z. Ahmed
+//
+#include "TNamed.h"
+#include "AliCDBEntry.h"
+#include "AliPMD.h"
+#include "AliPMDHotData.h"
+
+
+ClassImp(AliPMDHotData)
+
+AliPMDHotData::AliPMDHotData()
+{
+  // Default constructor
+  Reset();
+}
+// ----------------------------------------------------------------- //
+AliPMDHotData::AliPMDHotData(const char* name)
+{
+  //constructor
+  TString namst = "hot_";
+  namst += name;
+  SetName(namst.Data());
+  SetTitle(namst.Data());
+  Reset();
+  
+}
+// ----------------------------------------------------------------- //
+AliPMDHotData::AliPMDHotData(const AliPMDHotData& hotda) :
+  TNamed(hotda)
+{
+  // copy constructor
+  SetName(hotda.GetName());
+  SetTitle(hotda.GetName());
+  Reset();
+  for(Int_t det = 0; det < kDet; det++)
+  {
+      for(Int_t smn = 0; smn < kModule; smn++)
+      {
+         for(Int_t row = 0; row < kRow; row++)
+         {
+             for(Int_t col = 0; col < kCol; col++)
+             {
+                 fHotChannel[det][smn][row][col] = hotda.GetHotChannel(det,smn,row,col);
+             }
+         }
+      }
+  }
+}
+// ----------------------------------------------------------------- //
+AliPMDHotData &AliPMDHotData::operator =(const AliPMDHotData& hotda)
+{
+  //asignment operator
+  SetName(hotda.GetName());
+  SetTitle(hotda.GetName());
+  Reset();
+  for(Int_t det = 0; det < kDet; det++)
+    {
+      for(Int_t smn = 0; smn < kModule; smn++)
+       {
+         for(Int_t row = 0; row < kRow; row++)
+           {
+             for(Int_t col = 0; col < kCol; col++)
+               {
+                 fHotChannel[det][smn][row][col] = hotda.GetHotChannel(det,smn,row,col);
+               }
+           }
+       }
+    }
+  return *this;
+}
+// ----------------------------------------------------------------- //
+AliPMDHotData::~AliPMDHotData()
+{
+  //destructor
+}
+// ----------------------------------------------------------------- //
+void AliPMDHotData::Reset()
+{
+  //memset(fgainfact ,1,2*24*48*96*sizeof(Float_t));
+
+  for(Int_t det = 0; det < kDet; det++)
+  {
+      for(Int_t smn = 0; smn < kModule; smn++)
+      {
+         for(Int_t row = 0; row < kRow; row++)
+         {
+             for(Int_t col = 0; col < kCol; col++)
+             {
+                    fHotChannel[det][smn][row][col] = 0.;
+             }
+         }
+      }
+  }
+}
+// ----------------------------------------------------------------- //
+Float_t AliPMDHotData:: GetHotChannel(Int_t det, Int_t smn, Int_t row, Int_t col) const
+{
+  return fHotChannel[det][smn][row][col];
+}
+// ----------------------------------------------------------------- //
+void AliPMDHotData::SetHotChannel(Int_t det, Int_t smn, Int_t row, Int_t col, Float_t flag)
+{
+  fHotChannel[det][smn][row][col] = flag;
+}
+//--------------------------------------------------------------------- //
+void AliPMDHotData::Print(Option_t *) const
+{
+  printf("\n ######gain factors for each cells ####\n");
+  for(Int_t det = 0; det < kDet; det++)
+    {
+      for(Int_t smn = 0; smn < kModule; smn++)
+       {
+         for(Int_t row = 0; row < kRow; row++)
+           {
+             for(Int_t col = 0; col < kCol; col++)
+               {
+                 // printf("Gain[%d,%d,%d,%d]= %4.1f \n",det,smn,row,col,
+                 // fHotChannel[det][smn][row][col]);
+               }
+           }
+       }
+    }
+}
diff --git a/PMD/AliPMDHotData.h b/PMD/AliPMDHotData.h
new file mode 100644 (file)
index 0000000..2e73b4d
--- /dev/null
@@ -0,0 +1,37 @@
+#ifndef ALIPMDHOTDATA_H
+#define ALIPMDHOTDATA_H
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               */
+
+
+class TNamed;
+class AliCDBEntry;
+class AliPMD;
+
+class AliPMDHotData: public TNamed
+{
+ public:
+  AliPMDHotData();
+  AliPMDHotData(const char* name);
+  AliPMDHotData(const AliPMDHotData &hotda);
+  AliPMDHotData& operator= (const AliPMDHotData &hotda);
+  virtual ~AliPMDHotData();
+  void    Reset();
+  void    SetHotChannel(Int_t det, Int_t smn, Int_t row, Int_t col,Float_t flag);
+  Float_t GetHotChannel(Int_t det, Int_t smn, Int_t row, Int_t col) const;
+  virtual void Print(Option_t *) const;
+  
+ protected:
+
+  enum
+      {
+         kDet = 2,        // Number of plane
+         kModule = 24,    // Modules per plane
+         kRow    = 48,    // Maximum row
+         kCol    = 96     // Maximum Column
+      };
+  Float_t fHotChannel[kDet][kModule][kRow][kCol];
+
+  ClassDef(AliPMDHotData,0) // calibration class for gainfactors
+};
+#endif
index 59f741d..a43da1d 100644 (file)
@@ -1,7 +1,7 @@
 # -*- mode: cmake -*-
 
 set(SRCS
-AliPMDLoader.cxx AliPMDdigit.cxx AliPMDBlockHeader.cxx AliPMDDspHeader.cxx AliPMDPatchBusHeader.cxx AliPMDddldata.cxx AliPMDRawStream.cxx AliPMDCalibData.cxx AliPMDCalibrator.cxx AliPMDPreprocessor.cxx AliPMDRawToSDigits.cxx AliPMDPedestal.cxx AliPMDsdigit.cxx AliPMDQAChecker.cxx AliPMDMisAligner.cxx
+AliPMDLoader.cxx AliPMDdigit.cxx AliPMDBlockHeader.cxx AliPMDDspHeader.cxx AliPMDPatchBusHeader.cxx AliPMDddldata.cxx AliPMDRawStream.cxx AliPMDCalibData.cxx AliPMDCalibrator.cxx AliPMDPreprocessor.cxx AliPMDRawToSDigits.cxx AliPMDPedestal.cxx AliPMDsdigit.cxx AliPMDQAChecker.cxx AliPMDMisAligner.cxx AliPMDHotData.cxx
 )
 
 # fill list of header files from list of source files
index 709d43a..a092fff 100644 (file)
@@ -23,4 +23,5 @@
 #pragma link C++ class  AliPMDsdigit+;
 #pragma link C++ class  AliPMDQAChecker+;
 #pragma link C++ class  AliPMDMisAligner+;
+#pragma link C++ class  AliPMDHotData+;
 #endif
index a13f955..0b25bf4 100644 (file)
@@ -1,7 +1,7 @@
 #-*- Mode: Makefile -*-
 # $Id$
 
-SRCS:= AliPMDLoader.cxx AliPMDdigit.cxx AliPMDBlockHeader.cxx AliPMDDspHeader.cxx AliPMDPatchBusHeader.cxx AliPMDddldata.cxx AliPMDRawStream.cxx AliPMDCalibData.cxx AliPMDCalibrator.cxx AliPMDPreprocessor.cxx AliPMDRawToSDigits.cxx AliPMDPedestal.cxx AliPMDsdigit.cxx AliPMDQAChecker.cxx AliPMDMisAligner.cxx
+SRCS:= AliPMDLoader.cxx AliPMDdigit.cxx AliPMDBlockHeader.cxx AliPMDDspHeader.cxx AliPMDPatchBusHeader.cxx AliPMDddldata.cxx AliPMDRawStream.cxx AliPMDCalibData.cxx AliPMDCalibrator.cxx AliPMDPreprocessor.cxx AliPMDRawToSDigits.cxx AliPMDPedestal.cxx AliPMDsdigit.cxx AliPMDQAChecker.cxx AliPMDMisAligner.cxx AliPMDHotData.cxx
 
 HDRS:= $(SRCS:.cxx=.h)