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.3 2007/07/10 12:41:38 kharlov
13 * Added a new class AliPHOSSurvet1 which read survey data from EDMS files
15 * Revision 1.2 2007/05/17 17:13:32 kharlov
16 * Coding convensions satisfied (T.Pocheptsov)
18 * Revision 1.1 2007/04/19 15:47:20 kharlov
19 * Add misalignment of strip units with AliPHOSSurvey class
29 class AliPHOSGeometry;
32 Objects of this class read txt file with survey (photogrammetry) data
33 and convert the data into AliAlignObjParams of alignable PHOS volumes.
34 It can be used as a base class, you need to override GetStripTransformation.
35 AliPHOSSurvey inherits TObject only to use AliLog "functions".
38 class AliPHOSSurvey : public TObject {
41 AliPHOSSurvey(const TString &txtFileName);
43 virtual ~AliPHOSSurvey();
45 //Create AliAlignObjParams for strips.
46 void CreateAliAlignObjParams(TClonesArray &array);
47 //Create AliAlignObjParams with null shifts and rotations.
48 void CreateNullObjects(TClonesArray &alObj, const AliPHOSGeometry *geom)const;
52 struct AliPHOSStripDelta {
53 Float_t fXShift; //x shift
54 Float_t fYShift; //y shift
55 Float_t fZShift; //z shift
57 Float_t fTheta; //theta
61 Int_t fStrNum; // Number of strips.
62 AliPHOSStripDelta *fStripData; // Strip unit transformation data
64 void InitStripData(const Double_t *xReal, const Double_t *zReal);
67 //Calculate shifts and rotations for strip number stripIndex in a module moduleIndex.
68 virtual AliPHOSStripDelta GetStripTransformation(Int_t stripIndex, Int_t moduleIndex)const;
70 AliPHOSSurvey(const AliPHOSSurvey &);
71 AliPHOSSurvey &operator = (const AliPHOSSurvey &);
73 ClassDef(AliPHOSSurvey, 1) //Survey data reader