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