]>
Commit | Line | Data |
---|---|---|
3c759505 | 1 | #ifndef ALIPHOSSURVEY_H |
2 | #define ALIPHOSSURVEY_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 | /* History of cvs commits: | |
10 | * | |
11 | * $Log$ | |
90dbf5fb | 12 | * Revision 1.3 2007/07/10 12:41:38 kharlov |
13 | * Added a new class AliPHOSSurvet1 which read survey data from EDMS files | |
14 | * | |
42c5218a | 15 | * Revision 1.2 2007/05/17 17:13:32 kharlov |
16 | * Coding convensions satisfied (T.Pocheptsov) | |
17 | * | |
56afa9a8 | 18 | * Revision 1.1 2007/04/19 15:47:20 kharlov |
19 | * Add misalignment of strip units with AliPHOSSurvey class | |
20 | * | |
3c759505 | 21 | */ |
22 | ||
3c759505 | 23 | #include <TObject.h> |
24 | #include <Rtypes.h> | |
25 | ||
26 | class TClonesArray; | |
27 | class TString; | |
28 | ||
29 | class AliPHOSGeometry; | |
30 | ||
31 | /* | |
32 | Objects of this class read txt file with survey (photogrammetry) data | |
90dbf5fb | 33 | and convert the data into AliAlignObjParams of alignable PHOS volumes. |
3c759505 | 34 | It can be used as a base class, you need to override GetStripTransformation. |
35 | AliPHOSSurvey inherits TObject only to use AliLog "functions". | |
36 | */ | |
37 | ||
38 | class AliPHOSSurvey : public TObject { | |
39 | public: | |
40 | AliPHOSSurvey(); | |
41 | AliPHOSSurvey(const TString &txtFileName); | |
42 | ||
56afa9a8 | 43 | virtual ~AliPHOSSurvey(); |
44 | ||
90dbf5fb | 45 | //Create AliAlignObjParams for strips. |
46 | void CreateAliAlignObjParams(TClonesArray &array); | |
47 | //Create AliAlignObjParams with null shifts and rotations. | |
56afa9a8 | 48 | void CreateNullObjects(TClonesArray &alObj, const AliPHOSGeometry *geom)const; |
3c759505 | 49 | |
50 | protected: | |
56afa9a8 | 51 | |
52 | struct AliPHOSStripDelta { | |
53 | Float_t fXShift; //x shift | |
54 | Float_t fYShift; //y shift | |
55 | Float_t fZShift; //z shift | |
56 | Float_t fPsi; //psi | |
57 | Float_t fTheta; //theta | |
58 | Float_t fPhi; //phi | |
3c759505 | 59 | }; |
60 | ||
42c5218a | 61 | Int_t fStrNum; // Number of strips. |
62 | AliPHOSStripDelta *fStripData; // Strip unit transformation data | |
63 | ||
64 | void InitStripData(const Double_t *xReal, const Double_t *zReal); | |
65 | ||
3c759505 | 66 | private: |
67 | //Calculate shifts and rotations for strip number stripIndex in a module moduleIndex. | |
56afa9a8 | 68 | virtual AliPHOSStripDelta GetStripTransformation(Int_t stripIndex, Int_t moduleIndex)const; |
3c759505 | 69 | |
70 | AliPHOSSurvey(const AliPHOSSurvey &); | |
71 | AliPHOSSurvey &operator = (const AliPHOSSurvey &); | |
72 | ||
3c759505 | 73 | ClassDef(AliPHOSSurvey, 1) //Survey data reader |
74 | }; | |
75 | ||
76 | #endif |