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