]>
Commit | Line | Data |
---|---|---|
20345ac5 | 1 | #ifndef ALIFMDALIGNFAKER_H |
2 | #define ALIFMDALIGNFAKER_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights | |
4 | * reserved. | |
5 | * | |
6 | * Latest changes by Christian Holm Christensen <cholm@nbi.dk> | |
7 | * | |
8 | * See cxx source for full Copyright notice | |
9 | */ | |
10 | ||
11 | //____________________________________________________________________ | |
12 | // | |
13 | // Class to make fake alignration parameters | |
14 | // | |
15 | #ifndef ROOT_TTask | |
16 | # include <TTask.h> | |
17 | #endif | |
18 | #ifndef ROOT_TVector3 | |
19 | # include <TVector3.h> | |
20 | #endif | |
21 | class TClonesArray; | |
22 | class TString; | |
23 | ||
24 | class AliFMDAlignFaker : public TTask | |
25 | { | |
26 | public: | |
27 | enum EWhat { | |
28 | kSensors = 1, | |
4183a24f | 29 | kHalves |
20345ac5 | 30 | }; |
31 | enum { | |
32 | kAll = (1<<kHalves|1<<kSensors) | |
33 | }; | |
34 | AliFMDAlignFaker(Int_t mask=kAll, | |
35 | const char* geo="geometry.root", | |
36 | const char* loc="local://cdb"); | |
37 | virtual ~AliFMDAlignFaker() {} | |
38 | void AddAlign(EWhat w) { SETBIT(fMask, w); } | |
1e8f773e | 39 | void RemoveAlign(EWhat w) { CLRBIT(fMask, w); } |
20345ac5 | 40 | void SetAlign(Int_t mask) { fMask = mask; } |
41 | void SetSensorDisplacement(Double_t x1=0, Double_t y1=0, Double_t z1=0, | |
42 | Double_t x2=.01, Double_t y2=.01, Double_t z2=0); | |
43 | void SetSensorRotation(Double_t x1=0, Double_t y1=0, Double_t z1=0, | |
44 | Double_t x2=.5, Double_t y2=.5, Double_t z2=.5); | |
45 | void SetHalfDisplacement(Double_t x1=0, Double_t y1=0, Double_t z1=0, | |
46 | Double_t x2=.05, Double_t y2=.05, Double_t z2=.05); | |
47 | void SetHalfRotation(Double_t x1=0, Double_t y1=0, Double_t z1=0, | |
48 | Double_t x2=0, Double_t y2=0, Double_t z2=0); | |
49 | void SetOutput(const char* file) { SetTitle(file); } | |
50 | void SetGeometryFile(const char* file) { SetName(file); } | |
51 | void Exec(Option_t* option=""); | |
52 | protected: | |
53 | Bool_t MakeAlign(const TString& path, Int_t volID, | |
54 | Double_t transX, Double_t transY, Double_t transZ, | |
55 | Double_t rotX, Double_t rotY, Double_t rotZ); | |
56 | Bool_t MakeAlignSensor(const TString& path, Int_t id); | |
57 | Bool_t MakeAlignHalf(const TString& path, Int_t id); | |
58 | void WriteToCDB(); | |
59 | void WriteToFile(); | |
60 | ||
61 | Long_t fMask; // What to write | |
62 | TVector3 fSensorTransMin; | |
63 | TVector3 fSensorTransMax; | |
64 | TVector3 fSensorRotMin; | |
65 | TVector3 fSensorRotMax; | |
66 | TVector3 fHalfTransMin; | |
67 | TVector3 fHalfTransMax; | |
68 | TVector3 fHalfRotMin; | |
69 | TVector3 fHalfRotMax; | |
70 | Int_t fRunMin; | |
71 | Int_t fRunMax; | |
72 | TClonesArray* fArray; | |
73 | ||
74 | ClassDef(AliFMDAlignFaker,0) | |
75 | }; | |
76 | ||
77 | #endif | |
78 | //____________________________________________________________________ | |
79 | // | |
80 | // Local Variables: | |
81 | // mode: C++ | |
82 | // End: | |
83 | // | |
84 | // EOF | |
85 | // | |
86 |