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