]>
Commit | Line | Data |
---|---|---|
289cc8a7 | 1 | #ifndef ALIEMCALSURVEY_H |
2 | #define ALIEMCALSURVEY_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | /* $Id: $ */ | |
8 | ||
9 | #include <TObject.h> | |
10 | #include <Rtypes.h> | |
11 | ||
12 | class TClonesArray; | |
13 | class TString; | |
14 | ||
15 | class AliEMCALGeometry; | |
16 | ||
17 | /* | |
18 | Objects of this class read txt file with survey data | |
19 | and convert the data into AliAlignObjParams of alignable EMCAL volumes. | |
20 | AliEMCALSurvey inherits TObject only to use AliLog "functions". | |
21 | */ | |
22 | ||
23 | class AliEMCALSurvey : public TObject { | |
24 | public: | |
25 | AliEMCALSurvey(); | |
26 | AliEMCALSurvey(const TString &txtFileName); | |
27 | ||
28 | virtual ~AliEMCALSurvey(); | |
29 | ||
30 | //Create AliAlignObjParams for strips. | |
31 | void CreateAliAlignObjParams(TClonesArray &array); | |
32 | //Create AliAlignObjParams with null shifts and rotations. | |
33 | void CreateNullObjects(TClonesArray &alObj, const AliEMCALGeometry *geom)const; | |
34 | ||
35 | protected: | |
36 | ||
37 | struct AliEMCALSuperModuleDelta { | |
38 | Float_t fXShift; //x shift | |
39 | Float_t fYShift; //y shift | |
40 | Float_t fZShift; //z shift | |
41 | Float_t fPsi; //psi | |
42 | Float_t fTheta; //theta | |
43 | Float_t fPhi; //phi | |
44 | }; | |
45 | ||
46 | Int_t fNSuperModule; // Number of supermodules. | |
47 | AliEMCALSuperModuleDelta *fSuperModuleData; // Supermodule transformation data | |
48 | ||
49 | void InitSuperModuleData(const Double_t *xReal, const Double_t *yReal, const Double_t *zReal); | |
50 | ||
51 | private: | |
52 | //Calculate shifts and rotations for supermodule. | |
53 | virtual AliEMCALSuperModuleDelta GetSuperModuleTransformation(Int_t smIndex) const; | |
54 | ||
55 | AliEMCALSurvey(const AliEMCALSurvey &); | |
56 | AliEMCALSurvey &operator = (const AliEMCALSurvey &); | |
57 | ||
58 | ClassDef(AliEMCALSurvey, 1) //Survey data reader | |
59 | }; | |
60 | ||
61 | #endif |