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 **************************************************************************/
18 ////////////////////////////////////////////////
19 // class for EMCAL alignment parameters //
23 // JLK (21-Apr-2006): this should go away sometime
24 // soon and EMCAL should use
25 // official ALICE alignment classes
27 ////////////////////////////////////////////////
29 #include "AliEMCALAlignData.h"
30 #include "AliAlignObjMatrix.h"
32 ClassImp(AliEMCALAlignData)
34 //________________________________________________________________
35 AliEMCALAlignData::AliEMCALAlignData()
37 // Default constructor
41 //________________________________________________________________
42 AliEMCALAlignData::AliEMCALAlignData(const char* name)
45 TString namst = "Align_";
47 SetName(namst.Data());
48 SetTitle(namst.Data());
52 //________________________________________________________________
53 AliEMCALAlignData::AliEMCALAlignData(const AliEMCALAlignData& alignda) :
57 SetName(alignda.GetName());
58 SetTitle(alignda.GetName());
60 fNSuperModules = alignda.GetNSuperModules();
61 for(Int_t module=0; module<fNSuperModules; module++) {
62 fSuperModuleMatrix[module] = alignda.fSuperModuleMatrix[module];
66 //________________________________________________________________
67 AliEMCALAlignData &AliEMCALAlignData::operator =(const AliEMCALAlignData& alignda)
69 // assignment operator
70 SetName(alignda.GetName());
71 SetTitle(alignda.GetName());
73 fNSuperModules = alignda.GetNSuperModules();
74 for(Int_t module=0; module<fNSuperModules; module++) {
75 fSuperModuleMatrix[module] = new AliAlignObjMatrix(*alignda.fSuperModuleMatrix[module]);
80 //________________________________________________________________
81 AliEMCALAlignData::~AliEMCALAlignData()
84 for(Int_t module=0; module<fNSuperModules; module++) {
85 if(fSuperModuleMatrix[module]) delete fSuperModuleMatrix[module];
89 //________________________________________________________________
90 void AliEMCALAlignData::Reset()
92 // Set all to default values
94 memset(fSuperModuleMatrix,0,12*sizeof(AliAlignObjMatrix*));
95 for(Int_t module=0; module<fNSuperModules; module++) fSuperModuleMatrix[module] = 0;
98 //________________________________________________________________
99 void AliEMCALAlignData::Print(Option_t */*option =""*/) const
101 // Print alignment data
103 printf("EMCAL alignment object\n");
104 printf(" Number of modules: %d\n",fNSuperModules);
106 //________________________________________________________________