X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;ds=sidebyside;f=TOF%2FAliTOFAlignment.cxx;h=511cd4c0dc99103fc361e770810aade794adf095;hb=6cf643869d006dcfcc68ae9fee7f686c27cc4298;hp=a6780a36cd977ed090c82e2d88d71ab8dde4d983;hpb=216f457b6d60438d790ea4b4729bc886e49ddf1f;p=u%2Fmrichter%2FAliRoot.git diff --git a/TOF/AliTOFAlignment.cxx b/TOF/AliTOFAlignment.cxx index a6780a36cd9..511cd4c0dc9 100644 --- a/TOF/AliTOFAlignment.cxx +++ b/TOF/AliTOFAlignment.cxx @@ -131,6 +131,10 @@ AliTOFAlignment::AliTOFAlignment(): for(Int_t i=0; i<72; i++) for (Int_t j=0; j<6; j++) fCombFMData[i][j]=0; + + for(Int_t i=0; i<18;i++) + fTOFMatrixId[i]=0; + } //_____________________________________________________________________________ AliTOFAlignment::AliTOFAlignment(const AliTOFAlignment &t): @@ -148,6 +152,10 @@ AliTOFAlignment::AliTOFAlignment(const AliTOFAlignment &t): for(Int_t i=0; i<72; i++) for (Int_t j=0; j<6; j++) fCombFMData[i][j]=t.fCombFMData[i][j]; + + for(Int_t i=0; i<18;i++) + fTOFMatrixId[i]=t.fTOFMatrixId[i]; + } //_____________________________________________________________________________ AliTOFAlignment& AliTOFAlignment::operator=(const AliTOFAlignment &t){ @@ -160,6 +168,9 @@ AliTOFAlignment& AliTOFAlignment::operator=(const AliTOFAlignment &t){ fNTOFAlignObj=t.fNTOFAlignObj; fTOFmgr=t.fTOFmgr; fTOFAlignObjArray=t.fTOFAlignObjArray; + for(Int_t i=0; i<18;i++) + fTOFMatrixId[i]=t.fTOFMatrixId[i]; + return *this; } @@ -185,9 +196,11 @@ void AliTOFAlignment::Smear(Float_t * const tr, Float_t * const rot) // Int_t iIndex=1; //dummy volume index UShort_t dvoluid = AliGeomManager::LayerToVolUID(iLayer,iIndex); //dummy volume identity Int_t i; + + const Int_t kSize=100; + Char_t path[kSize]; for (i = 0; iGaus(0.,1.))*tr[0]; dy = (rnd->Gaus(0.,1.))*tr[1]; @@ -218,11 +231,13 @@ void AliTOFAlignment::Align(Float_t * const tr, Float_t * const rot) AliGeomManager::ELayerID iLayer = AliGeomManager::kInvalidLayer; UShort_t iIndex=0; //dummy volume index UShort_t dvoluid = AliGeomManager::LayerToVolUID(iLayer,iIndex); //dummy volume identity + + const Int_t kSize=100; + Char_t path[kSize]; Int_t i; for (i = 0; iSetResponsible("TOF"); @@ -256,8 +272,10 @@ void AliTOFAlignment::ReadParFromCDB(const Char_t *sel, Int_t nrun) //Read Align Par from CDB AliCDBManager *man = AliCDBManager::Instance(); const Char_t *sel1 = "AlignPar" ; - Char_t out[100]; - sprintf(out,"%s/%s",sel,sel1); + const Int_t kSize=100; + Char_t out[kSize]; + + snprintf(out,kSize,"%s/%s",sel,sel1); AliCDBEntry *entry = man->Get(out,nrun); if (!entry) { AliError(Form("Failed to get entry: %s",out)); @@ -274,8 +292,9 @@ void AliTOFAlignment::WriteSimParOnCDB(const Char_t *sel, Int_t minrun, Int_t ma //Write Sim Align Par on CDB AliCDBManager *man = AliCDBManager::Instance(); const Char_t *sel1 = "AlignSimPar" ; - Char_t out[100]; - sprintf(out,"%s/%s",sel,sel1); + const Int_t kSize=100; + Char_t out[kSize]; + snprintf(out,kSize,"%s/%s",sel,sel1); AliCDBId idTOFAlign(out,minrun,maxrun); AliCDBMetaData *mdTOFAlign = new AliCDBMetaData(); mdTOFAlign->SetResponsible("TOF"); @@ -287,9 +306,14 @@ void AliTOFAlignment::ReadSimParFromCDB(const Char_t *sel, Int_t nrun){ //Read Sim Align Par from CDB AliCDBManager *man = AliCDBManager::Instance(); const Char_t *sel1 = "AlignSimPar" ; - Char_t out[100]; - sprintf(out,"%s/%s",sel,sel1); + const Int_t kSize=100; + Char_t out[kSize]; + snprintf(out,kSize,"%s/%s",sel,sel1); AliCDBEntry *entry = man->Get(out,nrun); + if (!entry) { + AliError(Form("Failed to get entry: %s",out)); + return; + } fTOFAlignObjArray=(TObjArray*)entry->GetObject(); fNTOFAlignObj=fTOFAlignObjArray->GetEntries(); AliInfo(Form("Number of Alignable Volumes from CDB: %d",fNTOFAlignObj)); @@ -351,7 +375,8 @@ void AliTOFAlignment::BuildGeomForSurvey() // position all this stuff in the global ALICE frame - char name[16]; + const Int_t kSize=100; + char name[kSize]; Double_t smX = 0.; Double_t smY = 0.; Double_t smZ = 0.; @@ -359,7 +384,7 @@ void AliTOFAlignment::BuildGeomForSurvey() for (Int_t iSM = 0; iSM < 18; iSM++) { Int_t mod = iSM + 13; if (mod > 17) mod -= 18; - sprintf(name, "BTOF%d",mod); + snprintf(name,kSize, "BTOF%d",mod); trd1[iSM] = new TGeoVolume(name,strd1); Float_t phi = iSM * 20.; Float_t phi2 = 270 + phi; @@ -392,7 +417,7 @@ void AliTOFAlignment::BuildGeomForSurvey() for (Int_t iSM = 0; iSM < 18; iSM++) { - sprintf(name, "TOP_1/BTOF%d_1", iSM); + snprintf(name,kSize, "TOP_1/BTOF%d_1", iSM); printf("\n\n***************** TOF SuperModule: %s ****************** \n",name); TGeoPhysicalNode* pn3 = fTOFmgr->MakePhysicalNode(name); fTOFMatrixId[iSM] = pn3->GetMatrix(); //save "ideal" global matrix @@ -414,9 +439,11 @@ void AliTOFAlignment::InsertMisAlignment(Float_t * const mis) Double_t lC[3]={fgkXFM, fgkYFM ,fgkZFM}; Double_t lD[3]={-fgkXFM, fgkYFM ,fgkZFM}; + const Int_t kSize=16; + char name[kSize]; + for(Int_t iSM=0;iSM<18;iSM++){ - char name[16]; - sprintf(name, "TOP_1/BTOF%d_1", iSM); + snprintf(name,kSize, "TOP_1/BTOF%d_1", iSM); fTOFmgr->cd(name); printf("\n\n******Misaligning TOF SuperModule ************** %s \n",name);