1 #ifndef ALIFMDALIGNFAKER_H
2 #define ALIFMDALIGNFAKER_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights
6 * Latest changes by Christian Holm Christensen <cholm@nbi.dk>
8 * See cxx source for full Copyright notice
11 //____________________________________________________________________
13 // Class to make fake alignration parameters
19 # include <TVector3.h>
24 class AliFMDAlignFaker : public TTask
32 kAll = (1<<kHalves|1<<kSensors)
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); }
39 void RemoveAlign(EWhat w) { CLRBIT(fMask, w); }
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="");
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);
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;
74 ClassDef(AliFMDAlignFaker,0)
78 //____________________________________________________________________