1 #ifndef ALIPHOSSURVEY_H
2 #define ALIPHOSSURVEY_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
9 /* History of cvs commits:
12 * Revision 1.1 2007/04/19 15:47:20 kharlov
13 * Add misalignment of strip units with AliPHOSSurvey class
25 class AliPHOSGeometry;
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".
34 class AliPHOSSurvey : public TObject {
37 AliPHOSSurvey(const TString &txtFileName);
39 virtual ~AliPHOSSurvey();
41 //Create AliAlignObjAngles for strips.
42 void CreateAliAlignObjAngles(TClonesArray &array);
43 //Create AliAlignObjAngles with null shifts and rotations.
44 void CreateNullObjects(TClonesArray &alObj, const AliPHOSGeometry *geom)const;
48 struct AliPHOSStripDelta {
49 Float_t fXShift; //x shift
50 Float_t fYShift; //y shift
51 Float_t fZShift; //z shift
53 Float_t fTheta; //theta
58 //Calculate shifts and rotations for strip number stripIndex in a module moduleIndex.
59 virtual AliPHOSStripDelta GetStripTransformation(Int_t stripIndex, Int_t moduleIndex)const;
61 AliPHOSSurvey(const AliPHOSSurvey &);
62 AliPHOSSurvey &operator = (const AliPHOSSurvey &);
65 Int_t fStrNum; // Number of strips.
66 AliPHOSStripDelta *fStripData; // Strip unit transformation data
68 ClassDef(AliPHOSSurvey, 1) //Survey data reader