]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PHOS/AliPHOSAlignData.cxx
First upload of alignment classes
[u/mrichter/AliRoot.git] / PHOS / AliPHOSAlignData.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 PHOS alignment parameters       //
20 ////////////////////////////////////////////////
21
22 #include "AliPHOSAlignData.h"
23
24 ClassImp(AliPHOSAlignData)
25
26 //________________________________________________________________
27 AliPHOSAlignData::AliPHOSAlignData()
28 {
29   // Default constructor
30   Reset();
31 }
32
33 //________________________________________________________________
34 AliPHOSAlignData::AliPHOSAlignData(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 AliPHOSAlignData::AliPHOSAlignData(const AliPHOSAlignData& alignda) :
46   TNamed(alignda)
47 {
48   // copy constructor
49   SetName(alignda.GetName());
50   SetTitle(alignda.GetName());
51   Reset();
52   fNModules = alignda.GetNModules();
53   for(Int_t module=0; module<fNModules; module++) {
54     for (Int_t axis=0; axis<3; axis++) {
55       fModuleCenter[module][axis] = 
56         alignda.GetModuleCenter(module,axis);
57       for (Int_t angle=0; angle<2; angle++) {
58         fModuleAngle[module][axis][angle] = 
59           alignda.GetModuleAngle(module,axis,angle);
60       }
61     }
62   }
63 }
64
65 //________________________________________________________________
66 AliPHOSAlignData &AliPHOSAlignData::operator =(const AliPHOSAlignData& alignda)
67 {
68   // assignment operator
69   SetName(alignda.GetName());
70   SetTitle(alignda.GetName());
71   Reset();
72   fNModules = alignda.GetNModules();
73   for(Int_t module=0; module<fNModules; module++) {
74     for (Int_t axis=0; axis<3; axis++) {
75       fModuleCenter[module][axis] = 
76         alignda.GetModuleCenter(module,axis);
77       for (Int_t angle=0; angle<2; angle++) {
78         fModuleAngle[module][axis][angle] = 
79           alignda.GetModuleAngle(module,axis,angle);
80       }
81     }
82   }
83   return *this;
84 }
85
86 //________________________________________________________________
87 AliPHOSAlignData::~AliPHOSAlignData()
88 {
89   // Destructor
90 }
91
92 //________________________________________________________________
93 void AliPHOSAlignData::Reset()
94 {
95   // Set all to default values
96   fNModules = 5;
97   memset(fModuleCenter,0,5*3*sizeof(Float_t));
98   memset(fModuleAngle ,0,5*3*2*sizeof(Float_t));
99 }
100
101 //________________________________________________________________
102 void  AliPHOSAlignData::Print(Option_t */*option =""*/) const
103 {
104   // Print alignment data
105
106   printf("PHOS alignment object\n");
107   printf("     Number of modules: %d\n",fNModules);
108 }
109
110 //________________________________________________________________