]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PHOS/macros/AlignmentDB/CreateMisalignment0.C
73a6c9669bd1498f77bbdbcf0fab6646bd7548b0
[u/mrichter/AliRoot.git] / PHOS / macros / AlignmentDB / CreateMisalignment0.C
1 void CreateMisalignment0(const Int_t nModules=5)
2 {
3   // *************************    1st step    ***************
4   // Create TClonesArray of alignment objects for PHOS
5   // with ideal geometry, i.e. zero displacement and disorientations
6   // 
7   TClonesArray *array = new TClonesArray("AliAlignObjAngles",nModules);
8   TClonesArray &alobj = *array;
9    
10   AliAlignObjAngles a;
11
12   Double_t dx=0., dy=0., dz=0., dpsi=0., dtheta=0., dphi=0.;
13   // null shifts and rotations
14
15   UShort_t iIndex=0;
16   AliAlignObj::ELayerID iLayer = AliAlignObj::kInvalidLayer;
17   UShort_t dvoluid = AliAlignObj::LayerToVolUID(iLayer,iIndex); //dummy volume identity 
18
19   TString basePath = "/ALIC_1/PHOS_"; 
20   
21   for (Int_t iModule = 1; iModule<=nModules; iModule++) {
22     printf("Alignment object for %s is created\n",(basePath+iModule).Data());
23     new(alobj[iModule-1]) AliAlignObjAngles((basePath+iModule).Data(),
24                                           dvoluid, dx, dy, dz, dpsi, dtheta, dphi);
25   }
26
27   // *************************    2nd step    ***************
28   // Make CDB storage and put TClonesArray in
29   // 
30   AliCDBManager *CDB = AliCDBManager::Instance();
31   CDB->SetDefaultStorage("local://$ALICE_ROOT");
32   
33   AliCDBMetaData *md= new AliCDBMetaData();
34   md->SetResponsible("Yuri Kharlov");
35   md->SetComment("Alignment objects for ideal geometry, i.e. applying them to TGeo has to leave geometry unchanged");
36   AliCDBId id("PHOS/Align/Data",0,0);
37   CDB->Put(array,id, md);
38 }
39
40
41
42
43