#include <Rtypes.h>
+#include "TGeoMatrix.h"
#include "TMath.h"
#include "TFile.h"
#include "TRandom.h"
+#include "TGeoManager.h"
+#include "TGeoVolume.h"
+#include "TGeoBBox.h"
+#include "TGeoTrd1.h"
+#include "TGeoPhysicalNode.h"
+#include "TGeoNode.h"
+#include "TObjString.h"
#include "AliLog.h"
-#include "AliAlignObj.h"
+//#include "AliAlignObj.h"
#include "AliAlignObjParams.h"
#include "AliAlignObjMatrix.h"
#include "AliCDBManager.h"
#include "AliTOFAlignment.h"
#include "AliSurveyObj.h"
#include "AliSurveyPoint.h"
-#include "TObjString.h"
+
ClassImp(AliTOFAlignment)
const Double_t AliTOFAlignment::fgkRorigTOF = 384.5; // Mean Radius of the TOF ext. volume, cm
}
//_____________________________________________________________________________
AliTOFAlignment::AliTOFAlignment(const AliTOFAlignment &t):
- TTask("AliTOFAlignment",""),
- fNTOFAlignObj(0),
+ TTask(t),
+ fNTOFAlignObj(t.fNTOFAlignObj),
fTOFmgr(0x0),
- fTOFAlignObjArray(0x0)
+ fTOFAlignObjArray(t.fTOFAlignObjArray)
{
//AliTOFAlignment copy Ctor
- fNTOFAlignObj=t.fNTOFAlignObj;
- fTOFAlignObjArray=t.fTOFAlignObjArray;
//AliTOFalignment main Ctor
for(Int_t i=0; i<18;i++)
for(Int_t j=0; j<5; j++)
AliTOFAlignment& AliTOFAlignment::operator=(const AliTOFAlignment &t){
//AliTOFAlignment assignment operator
- this->fNTOFAlignObj=t.fNTOFAlignObj;
- this->fTOFmgr=t.fTOFmgr;
- this->fTOFAlignObjArray=t.fTOFAlignObjArray;
+ if (&t == this)
+ return *this;
+
+ TTask::operator=(t);
+ fNTOFAlignObj=t.fNTOFAlignObj;
+ fTOFmgr=t.fTOFmgr;
+ fTOFAlignObjArray=t.fTOFAlignObjArray;
return *this;
}
AliInfo(Form("Number of Alignable Volumes: %d",fNTOFAlignObj));
}
//_____________________________________________________________________________
-void AliTOFAlignment::WriteParOnCDB(Char_t *sel, Int_t minrun, Int_t maxrun)
+void AliTOFAlignment::WriteParOnCDB(const Char_t *sel, Int_t minrun, Int_t maxrun)
{
//Write Align Par on CDB
AliCDBManager *man = AliCDBManager::Instance();
- Char_t *sel1 = "AlignPar" ;
+ const Char_t *sel1 = "AlignPar" ;
Char_t out[100];
sprintf(out,"%s/%s",sel,sel1);
AliCDBId idTOFAlign(out,minrun,maxrun);
man->Put(fTOFAlignObjArray,idTOFAlign,mdTOFAlign);
}
//_____________________________________________________________________________
-void AliTOFAlignment::ReadParFromCDB(Char_t *sel, Int_t nrun)
+void AliTOFAlignment::ReadParFromCDB(const Char_t *sel, Int_t nrun)
{
//Read Align Par from CDB
AliCDBManager *man = AliCDBManager::Instance();
- Char_t *sel1 = "AlignPar" ;
+ const Char_t *sel1 = "AlignPar" ;
Char_t out[100];
sprintf(out,"%s/%s",sel,sel1);
AliCDBEntry *entry = man->Get(out,nrun);
}
//_____________________________________________________________________________
-void AliTOFAlignment::WriteSimParOnCDB(Char_t *sel, Int_t minrun, Int_t maxrun)
+void AliTOFAlignment::WriteSimParOnCDB(const Char_t *sel, Int_t minrun, Int_t maxrun)
{
//Write Sim Align Par on CDB
AliCDBManager *man = AliCDBManager::Instance();
- Char_t *sel1 = "AlignSimPar" ;
+ const Char_t *sel1 = "AlignSimPar" ;
Char_t out[100];
sprintf(out,"%s/%s",sel,sel1);
AliCDBId idTOFAlign(out,minrun,maxrun);
man->Put(fTOFAlignObjArray,idTOFAlign,mdTOFAlign);
}
//_____________________________________________________________________________
-void AliTOFAlignment::ReadSimParFromCDB(Char_t *sel, Int_t nrun){
+void AliTOFAlignment::ReadSimParFromCDB(const Char_t *sel, Int_t nrun){
//Read Sim Align Par from CDB
AliCDBManager *man = AliCDBManager::Instance();
- Char_t *sel1 = "AlignSimPar" ;
+ const Char_t *sel1 = "AlignSimPar" ;
Char_t out[100];
sprintf(out,"%s/%s",sel,sel1);
AliCDBEntry *entry = man->Get(out,nrun);
Int_t nsm=0;
Long64_t totdata[72]={0};
- for (Int_t i=0;i<nf; i++)
+ for (Int_t ii=0;ii<nf; ii++)
{
AliSurveyObj *so = new AliSurveyObj();
- const Char_t *nome=namefiles[i];
+ const Char_t *nome=namefiles[ii];
so->FillFromLocalFile(nome);
TObjArray *points = so->GetData();
Int_t nSurveyPoint=points->GetEntries();
- for(Int_t i=0;i<nSurveyPoint;i++){
- const char* pointName= ((AliSurveyPoint *) points->At(i))->GetPointName().Data();
+ for(Int_t jj=0;jj<nSurveyPoint;jj++){
+ const char* pointName= ((AliSurveyPoint *) points->At(jj))->GetPointName().Data();
nfm=atoi(&pointName[6]);
nsm=atoi(&pointName[2]);
- data[nsm*4+nfm][0][totdata[nsm*4+nfm]]=((AliSurveyPoint *) points->At(i))->GetX();
- data[nsm*4+nfm][2][totdata[nsm*4+nfm]]=((AliSurveyPoint *) points->At(i))->GetY();
- data[nsm*4+nfm][4][totdata[nsm*4+nfm]]=((AliSurveyPoint *) points->At(i))->GetZ();
- data[nsm*4+nfm][1][totdata[nsm*4+nfm]]=((AliSurveyPoint *) points->At(i))->GetPrecisionX();
- data[nsm*4+nfm][3][totdata[nsm*4+nfm]]=((AliSurveyPoint *) points->At(i))->GetPrecisionY();
- data[nsm*4+nfm][5][totdata[nsm*4+nfm]]=((AliSurveyPoint *) points->At(i))->GetPrecisionZ();
+ data[nsm*4+nfm][0][totdata[nsm*4+nfm]]=((AliSurveyPoint *) points->At(jj))->GetX();
+ data[nsm*4+nfm][2][totdata[nsm*4+nfm]]=((AliSurveyPoint *) points->At(jj))->GetY();
+ data[nsm*4+nfm][4][totdata[nsm*4+nfm]]=((AliSurveyPoint *) points->At(jj))->GetZ();
+ data[nsm*4+nfm][1][totdata[nsm*4+nfm]]=((AliSurveyPoint *) points->At(jj))->GetPrecisionX();
+ data[nsm*4+nfm][3][totdata[nsm*4+nfm]]=((AliSurveyPoint *) points->At(jj))->GetPrecisionY();
+ data[nsm*4+nfm][5][totdata[nsm*4+nfm]]=((AliSurveyPoint *) points->At(jj))->GetPrecisionZ();
totdata[nsm*4+nfm]=totdata[nsm*4+nfm]+1;
}
delete so;
}
-
for(Int_t i=0; i<72 ;i++){
Float_t numx=0, numy=0,numz=0, comodox=0, comodoy=0, comodoz=0,denx=0, deny=0, denz=0;
if(totdata[i]!=0){