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