]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSSurvey.h
trigger class added (M.Ivanov)
[u/mrichter/AliRoot.git] / PHOS / AliPHOSSurvey.h
index 8df69a4c371ed9fc3a32c1cab4f5ca4a295a67da..f67260b46c0bfacee0bc5e0b94f80866ba7427ff 100644 (file)
@@ -9,10 +9,17 @@
 /* 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>
 
@@ -23,7 +30,7 @@ class AliPHOSGeometry;
 
 /*
   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".
 */
@@ -33,31 +40,36 @@ public:
   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
 };