/* History of cvs commits:
*
* $Log$
+ * Revision 1.3 2007/07/10 12:41:38 kharlov
+ * Added a new class AliPHOSSurvet1 which read survey data from EDMS files
+ *
+ * Revision 1.2 2007/05/17 17:13:32 kharlov
+ * Coding convensions satisfied (T.Pocheptsov)
+ *
+ * Revision 1.1 2007/04/19 15:47:20 kharlov
+ * Add misalignment of strip units with AliPHOSSurvey class
+ *
*/
-#include <vector>
-
#include <TObject.h>
#include <Rtypes.h>
/*
Objects of this class read txt file with survey (photogrammetry) data
- and convert the data into AliAlignObjAngles of alignable PHOS volumes.
+ and convert the data into AliAlignObjParams of alignable PHOS volumes.
It can be used as a base class, you need to override GetStripTransformation.
AliPHOSSurvey inherits TObject only to use AliLog "functions".
*/
AliPHOSSurvey();
AliPHOSSurvey(const TString &txtFileName);
- //Create AliAlignObjAngles for strips.
- void CreateAliAlignObjAngles(TClonesArray &array);
- //Create AliAlignObjAngles with null shifts and rotations.
- void CreateNullObjects(TClonesArray &, const AliPHOSGeometry *)const;
+ virtual ~AliPHOSSurvey();
+
+ //Create AliAlignObjParams for strips.
+ void CreateAliAlignObjParams(TClonesArray &array);
+ //Create AliAlignObjParams with null shifts and rotations.
+ void CreateNullObjects(TClonesArray &alObj, const AliPHOSGeometry *geom)const;
protected:
- struct Transformation_t {
- Float_t fXShift;
- Float_t fYShift;
- Float_t fZShift;
- Float_t fPsi;
- Float_t fTheta;
- Float_t fPhi;
+
+ struct AliPHOSStripDelta {
+ Float_t fXShift; //x shift
+ Float_t fYShift; //y shift
+ Float_t fZShift; //z shift
+ Float_t fPsi; //psi
+ Float_t fTheta; //theta
+ Float_t fPhi; //phi
};
+ Int_t fStrNum; // Number of strips.
+ AliPHOSStripDelta *fStripData; // Strip unit transformation data
+
+ void InitStripData(const Double_t *xReal, const Double_t *zReal);
+
private:
//Calculate shifts and rotations for strip number stripIndex in a module moduleIndex.
- virtual Transformation_t GetStripTransformation(Int_t stripIndex, Int_t moduleIndex)const;
+ virtual AliPHOSStripDelta GetStripTransformation(Int_t stripIndex, Int_t moduleIndex)const;
AliPHOSSurvey(const AliPHOSSurvey &);
AliPHOSSurvey &operator = (const AliPHOSSurvey &);
-private:
- std::vector<Transformation_t> fStripData; // Strip unit transformation data
-
ClassDef(AliPHOSSurvey, 1) //Survey data reader
};