]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EMCAL/AliEMCALAlignData.cxx
add histogram utilities class, correct package definitions
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALAlignData.cxx
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  *                                                                        *
4  * Author: The ALICE Off-line Project.                                    *
5  * Contributors are mentioned in the code where appropriate.              *
6  *                                                                        *
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  **************************************************************************/
15
16 /* $Id$ */
17
18 ////////////////////////////////////////////////
19 //  class for EMCAL alignment parameters       //
20 ////////////////////////////////////////////////
21
22 #include "AliEMCALAlignData.h"
23
24 ClassImp(AliEMCALAlignData)
25
26 //________________________________________________________________
27 AliEMCALAlignData::AliEMCALAlignData()
28 {
29   // Default constructor
30   Reset();
31 }
32
33 //________________________________________________________________
34 AliEMCALAlignData::AliEMCALAlignData(const char* name)
35 {
36   // Constructor
37   TString namst = "Align_";
38   namst += name;
39   SetName(namst.Data());
40   SetTitle(namst.Data());
41   Reset();
42 }
43
44 //________________________________________________________________
45 AliEMCALAlignData::AliEMCALAlignData(const AliEMCALAlignData& alignda) :
46   TNamed(alignda)
47 {
48   // copy constructor
49   SetName(alignda.GetName());
50   SetTitle(alignda.GetName());
51   Reset();
52   fNSuperModules = alignda.GetNSuperModules();
53   for(Int_t module=0; module<fNSuperModules; module++) {
54     for (Int_t axis=0; axis<3; axis++) {
55       fSuperModuleCenter[module][axis] = 
56         alignda.GetSuperModuleCenter(module,axis);
57       for (Int_t angle=0; angle<2; angle++) {
58         fSuperModuleAngle[module][axis][angle] = 
59           alignda.GetSuperModuleAngle(module,axis,angle);
60       }
61     }
62   }
63 }
64
65 //________________________________________________________________
66 AliEMCALAlignData &AliEMCALAlignData::operator =(const AliEMCALAlignData& alignda)
67 {
68   // assignment operator
69   SetName(alignda.GetName());
70   SetTitle(alignda.GetName());
71   Reset();
72   fNSuperModules = alignda.GetNSuperModules();
73   for(Int_t module=0; module<fNSuperModules; module++) {
74     for (Int_t axis=0; axis<3; axis++) {
75       fSuperModuleCenter[module][axis] = 
76         alignda.GetSuperModuleCenter(module,axis);
77       for (Int_t angle=0; angle<2; angle++) {
78         fSuperModuleAngle[module][axis][angle] = 
79           alignda.GetSuperModuleAngle(module,axis,angle);
80       }
81     }
82   }
83   return *this;
84 }
85
86 //________________________________________________________________
87 AliEMCALAlignData::~AliEMCALAlignData()
88 {
89   // Destructor
90 }
91
92 //________________________________________________________________
93 void AliEMCALAlignData::Reset()
94 {
95   // Set all to default values
96   fNSuperModules = 12;
97   memset(fSuperModuleCenter,0,12*3*sizeof(Float_t));
98   memset(fSuperModuleAngle ,0,12*3*2*sizeof(Float_t));
99 }
100
101 //________________________________________________________________
102 void  AliEMCALAlignData::Print(Option_t */*option =""*/) const
103 {
104   // Print alignment data
105
106   printf("EMCAL alignment object\n");
107   printf("     Number of modules: %d\n",fNSuperModules);
108 }
109
110 //________________________________________________________________