]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PHOS/AliPHOSSurvey.h
Using EMCAL_COMPLETEV1 (Gustavo)
[u/mrichter/AliRoot.git] / PHOS / AliPHOSSurvey.h
CommitLineData
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$
90dbf5fb 12 * Revision 1.3 2007/07/10 12:41:38 kharlov
13 * Added a new class AliPHOSSurvet1 which read survey data from EDMS files
14 *
42c5218a 15 * Revision 1.2 2007/05/17 17:13:32 kharlov
16 * Coding convensions satisfied (T.Pocheptsov)
17 *
56afa9a8 18 * Revision 1.1 2007/04/19 15:47:20 kharlov
19 * Add misalignment of strip units with AliPHOSSurvey class
20 *
3c759505 21 */
22
3c759505 23#include <TObject.h>
24#include <Rtypes.h>
25
26class TClonesArray;
27class TString;
28
29class AliPHOSGeometry;
30
31/*
32 Objects of this class read txt file with survey (photogrammetry) data
90dbf5fb 33 and convert the data into AliAlignObjParams of alignable PHOS volumes.
3c759505 34 It can be used as a base class, you need to override GetStripTransformation.
35 AliPHOSSurvey inherits TObject only to use AliLog "functions".
36*/
37
38class AliPHOSSurvey : public TObject {
39public:
40 AliPHOSSurvey();
41 AliPHOSSurvey(const TString &txtFileName);
42
56afa9a8 43 virtual ~AliPHOSSurvey();
44
90dbf5fb 45 //Create AliAlignObjParams for strips.
46 void CreateAliAlignObjParams(TClonesArray &array);
47 //Create AliAlignObjParams with null shifts and rotations.
56afa9a8 48 void CreateNullObjects(TClonesArray &alObj, const AliPHOSGeometry *geom)const;
3c759505 49
50protected:
56afa9a8 51
52 struct AliPHOSStripDelta {
53 Float_t fXShift; //x shift
54 Float_t fYShift; //y shift
55 Float_t fZShift; //z shift
56 Float_t fPsi; //psi
57 Float_t fTheta; //theta
58 Float_t fPhi; //phi
3c759505 59 };
60
42c5218a 61 Int_t fStrNum; // Number of strips.
62 AliPHOSStripDelta *fStripData; // Strip unit transformation data
63
64 void InitStripData(const Double_t *xReal, const Double_t *zReal);
65
3c759505 66private:
67 //Calculate shifts and rotations for strip number stripIndex in a module moduleIndex.
56afa9a8 68 virtual AliPHOSStripDelta GetStripTransformation(Int_t stripIndex, Int_t moduleIndex)const;
3c759505 69
70 AliPHOSSurvey(const AliPHOSSurvey &);
71 AliPHOSSurvey &operator = (const AliPHOSSurvey &);
72
3c759505 73 ClassDef(AliPHOSSurvey, 1) //Survey data reader
74};
75
76#endif