First upload of alignment classes
authorkharlov <kharlov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 23 Feb 2006 11:21:36 +0000 (11:21 +0000)
committerkharlov <kharlov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 23 Feb 2006 11:21:36 +0000 (11:21 +0000)
PHOS/AliPHOSAlignData.cxx [new file with mode: 0644]
PHOS/AliPHOSAlignData.h [new file with mode: 0644]
PHOS/AliPHOSGetter.cxx
PHOS/AliPHOSGetter.h
PHOS/PHOSbaseLinkDef.h
PHOS/PHOSsimLinkDef.h
PHOS/libPHOSbase.pkg
PHOS/libPHOSsim.pkg

diff --git a/PHOS/AliPHOSAlignData.cxx b/PHOS/AliPHOSAlignData.cxx
new file mode 100644 (file)
index 0000000..04117af
--- /dev/null
@@ -0,0 +1,110 @@
+/**************************************************************************
+ * 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.                  *
+ **************************************************************************/
+
+/* $Id$ */
+
+////////////////////////////////////////////////
+//  class for PHOS alignment parameters       //
+////////////////////////////////////////////////
+
+#include "AliPHOSAlignData.h"
+
+ClassImp(AliPHOSAlignData)
+
+//________________________________________________________________
+AliPHOSAlignData::AliPHOSAlignData()
+{
+  // Default constructor
+  Reset();
+}
+
+//________________________________________________________________
+AliPHOSAlignData::AliPHOSAlignData(const char* name)
+{
+  // Constructor
+  TString namst = "Align_";
+  namst += name;
+  SetName(namst.Data());
+  SetTitle(namst.Data());
+  Reset();
+}
+
+//________________________________________________________________
+AliPHOSAlignData::AliPHOSAlignData(const AliPHOSAlignData& alignda) :
+  TNamed(alignda)
+{
+  // copy constructor
+  SetName(alignda.GetName());
+  SetTitle(alignda.GetName());
+  Reset();
+  fNModules = alignda.GetNModules();
+  for(Int_t module=0; module<fNModules; module++) {
+    for (Int_t axis=0; axis<3; axis++) {
+      fModuleCenter[module][axis] = 
+       alignda.GetModuleCenter(module,axis);
+      for (Int_t angle=0; angle<2; angle++) {
+       fModuleAngle[module][axis][angle] = 
+         alignda.GetModuleAngle(module,axis,angle);
+      }
+    }
+  }
+}
+
+//________________________________________________________________
+AliPHOSAlignData &AliPHOSAlignData::operator =(const AliPHOSAlignData& alignda)
+{
+  // assignment operator
+  SetName(alignda.GetName());
+  SetTitle(alignda.GetName());
+  Reset();
+  fNModules = alignda.GetNModules();
+  for(Int_t module=0; module<fNModules; module++) {
+    for (Int_t axis=0; axis<3; axis++) {
+      fModuleCenter[module][axis] = 
+       alignda.GetModuleCenter(module,axis);
+      for (Int_t angle=0; angle<2; angle++) {
+       fModuleAngle[module][axis][angle] = 
+         alignda.GetModuleAngle(module,axis,angle);
+      }
+    }
+  }
+  return *this;
+}
+
+//________________________________________________________________
+AliPHOSAlignData::~AliPHOSAlignData()
+{
+  // Destructor
+}
+
+//________________________________________________________________
+void AliPHOSAlignData::Reset()
+{
+  // Set all to default values
+  fNModules = 5;
+  memset(fModuleCenter,0,5*3*sizeof(Float_t));
+  memset(fModuleAngle ,0,5*3*2*sizeof(Float_t));
+}
+
+//________________________________________________________________
+void  AliPHOSAlignData::Print(Option_t */*option =""*/) const
+{
+  // Print alignment data
+
+  printf("PHOS alignment object\n");
+  printf("     Number of modules: %d\n",fNModules);
+}
+
+//________________________________________________________________
diff --git a/PHOS/AliPHOSAlignData.h b/PHOS/AliPHOSAlignData.h
new file mode 100644 (file)
index 0000000..1886cc7
--- /dev/null
@@ -0,0 +1,48 @@
+#ifndef ALIPHOSALIGNDATA_H
+#define ALIPHOSALIGNDATA_H
+
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               */
+
+/* $Id$ */
+
+////////////////////////////////////////////////
+//  class for PHOS alignment parameters       //
+////////////////////////////////////////////////
+
+#include "TNamed.h"
+
+class AliPHOSAlignData: public TNamed {
+
+ public:
+  AliPHOSAlignData();
+  AliPHOSAlignData(const char* name);
+  AliPHOSAlignData(const AliPHOSAlignData &alignda);
+  AliPHOSAlignData& operator= (const AliPHOSAlignData &alignda);
+  virtual ~AliPHOSAlignData();
+  void Reset();
+  virtual void Print(Option_t *option = "") const; 
+
+  // Getters
+  Int_t   GetNModules() const {return fNModules;}
+  Float_t GetModuleCenter(Int_t module, Int_t axis) const {
+    return fModuleCenter[module][axis];}
+  Float_t GetModuleAngle(Int_t module, Int_t axis, Int_t angle) const {
+    return fModuleAngle[module][axis][angle];}
+
+  // Setters
+  void SetNModules(Int_t nModules) {fNModules = nModules;}
+  void SetModuleCenter(Int_t module, Int_t axis, Float_t coord) {
+    fModuleCenter[module][axis] = coord;}
+  void SetModuleAngle(Int_t module, Int_t axis, Int_t angle, Float_t value) {
+    fModuleAngle[module][axis][angle] = value;}
+
+ protected:
+  Int_t   fNModules;             // number of PHOS modules (max=5)
+  Float_t fModuleCenter[5][3];   // xyz-position of the module center
+  Float_t fModuleAngle[5][3][2]; // polar and azymuth angles for 3 axes of modules
+
+  ClassDef(AliPHOSAlignData,1)    // PHOS Alignment data
+};
+
+#endif
index a6f3ba3..c443998 100644 (file)
@@ -74,6 +74,7 @@ AliPHOSGetter * AliPHOSGetter::fgObjGetter = 0 ;
 AliPHOSLoader * AliPHOSGetter::fgPhosLoader = 0;
 Int_t AliPHOSGetter::fgDebug = 0;
 AliPHOSCalibData* AliPHOSGetter::fCalibData = 0;
+AliPHOSAlignData* AliPHOSGetter::fAlignData = 0;
 
 //  TFile * AliPHOSGetter::fgFile = 0 ; 
 
@@ -1088,14 +1089,19 @@ Float_t AliPHOSGetter::BeamEnergy(void) const
 
 AliPHOSCalibData* AliPHOSGetter::CalibData()
 { 
+  // Check if the instance of AliPHOSCalibData exists, and return it
 
-  if( !(AliCDBManager::Instance()->IsDefaultStorageSet()) ) {
+  if( !(AliCDBManager::Instance()->IsDefaultStorageSet()) )
     fCalibData=0x0;
-    Warning("CalibData","Calibration DB is not initiated!");
-    return fCalibData;
-  }
-
   return fCalibData;
+}
+//____________________________________________________________________________ 
 
-  
+AliPHOSAlignData* AliPHOSGetter::AlignData()
+{ 
+  // Check if the instance of AliPHOSAlignData exists, and return it
+
+  if( !(AliCDBManager::Instance()->IsDefaultStorageSet()) )
+    fAlignData=0x0;
+  return fAlignData;
 }
index 675706e..4ce3eb5 100644 (file)
@@ -37,6 +37,7 @@ class TF1 ;
 #include "AliPHOSDigitizer.h"
 #include "AliPHOSSDigitizer.h"
 #include "AliPHOSCalibData.h"
+#include "AliPHOSAlignData.h"
 
 class AliPHOS ;  
 class AliPHOSGeometry ;
@@ -110,7 +111,9 @@ public:
   void SetCalibrationDB(AliPHOSCalibrationDB * cdb) {fcdb = cdb ;}
   
   void SetCalibData(AliPHOSCalibData* calibda) { fCalibData = calibda; }
+  void SetAlignData(AliPHOSAlignData* alignda) { fAlignData = alignda; }
   AliPHOSCalibData * CalibData();
+  AliPHOSAlignData * AlignData();
 
   //=========== Primaries ============
   virtual TClonesArray *    Primaries(void) ;
@@ -249,6 +252,7 @@ private:
 
   AliPHOSCalibrationDB * fcdb ;       //!
   static AliPHOSCalibData * fCalibData;
+  static AliPHOSAlignData * fAlignData;
 
   static AliPHOSLoader * fgPhosLoader ; // the loader for the NewIO
   
index d082d0f..d71ebb6 100644 (file)
@@ -24,6 +24,8 @@
 #pragma link C++ class AliPHOSDigit+;
 #pragma link C++ class AliPHOSFastRecParticle+;
 #pragma link C++ class AliPHOSRawStream2004+;
+#pragma link C++ class AliPHOSCalibData+;
+#pragma link C++ class AliPHOSAlignData+;
 
 
 #endif
index 6c63b30..ed33bd0 100644 (file)
@@ -19,7 +19,6 @@
 #pragma link C++ class AliPHOSCalibrator+;
 #pragma link C++ class AliPHOSConTableDB+;
 #pragma link C++ class AliPHOSOnlineMonitor+;
-#pragma link C++ class AliPHOSCalibData+;
 #pragma link C++ class AliPHOSTrigger+;
 
 #endif
index 812bdcc..2b47d4f 100644 (file)
@@ -9,7 +9,8 @@ SRCS          =  AliPHOS.cxx \
                 AliPHOSRawStream.cxx AliPHOSClusterizer.cxx \
                 AliPHOSCalibrationDB.cxx AliPHOSDigitizer.cxx \
                 AliPHOSSDigitizer.cxx AliPHOSDigit.cxx \
-                AliPHOSFastRecParticle.cxx AliPHOSRawStream2004.cxx
+                AliPHOSFastRecParticle.cxx AliPHOSRawStream2004.cxx \
+                AliPHOSCalibData.cxx AliPHOSAlignData.cxx
 
 HDRS:= $(SRCS:.cxx=.h) 
 
index 5e0c9e0..b46f0f6 100644 (file)
@@ -8,7 +8,7 @@ SRCS          =  AliPHOSv0.cxx AliPHOSv1.cxx AliPHOSv2.cxx \
                  AliPHOSCalibrator.cxx AliPHOSCalibrManager.cxx \
                 AliPHOSConTableDB.cxx \
                  AliPHOSOnlineMonitor.cxx \
-                AliPHOSCalibData.cxx AliPHOSTrigger.cxx
+                AliPHOSTrigger.cxx
 
 HDRS:= $(SRCS:.cxx=.h)