#include <TClonesArray.h>
#include <TObjString.h>
#include <TString.h>
#include <TH2.h>
#include "AliLog.h"
#include "AliSurveyObj.h"
#include "AliSurveyPoint.h"
#include "AliMUONSurveyChamber.h"
#include "AliMUONSurveyDetElem.h"
ClassImp(AliMUONSurveyChamber)
AliMUONSurveyChamber::AliMUONSurveyChamber(Int_t lChamberId)
: AliMUONSurveyObj()
, fChamberId(lChamberId)
, fNDetElem(0)
, fSurveyObj(0x0)
, fSurveyDetElem(0x0)
{
fSurveyObj = new AliSurveyObj();
fSurveyDetElem = new TClonesArray("AliMUONSurveyDetElem",4);
}
AliMUONSurveyChamber::~AliMUONSurveyChamber() {
if (fSurveyObj) delete fSurveyObj;
if (fSurveyDetElem) fSurveyDetElem->Delete();
}
Int_t AliMUONSurveyChamber::AddSurveyDetElem(Int_t lDetElemId) {
if (!fSurveyDetElem) {
fSurveyDetElem = new TClonesArray("AliMUONSurveyDetElem",4);
fNDetElem=0;
}
new((*fSurveyDetElem)[fNDetElem++]) AliMUONSurveyDetElem(lDetElemId,this);
return fNDetElem;
}
AliMUONSurveyDetElem* AliMUONSurveyChamber::GetDetElem(Int_t lDetElemIndex) {
if (lDetElemIndex<0||(lDetElemIndex>=fNDetElem)) {
return 0x0;
}
else {
return (AliMUONSurveyDetElem*)fSurveyDetElem->At(lDetElemIndex);
}
}
Int_t AliMUONSurveyChamber::AddStickerTargets(TObjArray *pArray, TString stBaseName, Int_t lTargetMax) {
return AliMUONSurveyObj::AddStickerTargets(pArray, stBaseName, lTargetMax);
}
Int_t AliMUONSurveyChamber::AddStickerTargets(TString stBaseName, Int_t lTargetMax) {
if (!fSurveyObj || !fSurveyObj->GetData()) {
AliError("Survey data is missing!");
return 0;
}
return AddStickerTargets(fSurveyObj->GetData(),stBaseName,lTargetMax);
}
Int_t AliMUONSurveyChamber::AddGButtonTargets(TObjArray *pArray, TString stBaseName, Int_t lTargetMax) {
return AliMUONSurveyObj::AddGButtonTargets(pArray, stBaseName, lTargetMax);
}
Int_t AliMUONSurveyChamber::AddGButtonTargets(TString stBaseName, Int_t lTargetMax) {
if (!fSurveyObj || !fSurveyObj->GetData()) {
AliError("Survey data is missing!");
return 0;
}
return AddGButtonTargets(fSurveyObj->GetData(),stBaseName,lTargetMax);
}
void AliMUONSurveyChamber::SetLocalTransformation(TGeoCombiTrans *localTrf, Bool_t ownerLocalTrf) {
AliMUONSurveyObj::SetLocalTransformation(localTrf,ownerLocalTrf);
AliMUONSurveyObj::SetBaseTransformation(localTrf,ownerLocalTrf);
}
void AliMUONSurveyChamber::PrintSurveyReport() {
printf("--> %d\n", fSurveyObj->GetEntries());
printf("Title: \"%s\"\n", fSurveyObj->GetReportTitle().Data());
printf("Date: \"%s\"\n", fSurveyObj->GetReportDate().Data());
printf("Detector: \"%s\"\n", fSurveyObj->GetDetector().Data());
printf("URL: \"%s\"\n", fSurveyObj->GetURL().Data());
printf("Number: \"%d\"\n", fSurveyObj->GetReportNumber());
printf("Version: \"%d\"\n", fSurveyObj->GetReportVersion());
printf("Observations: \"%s\"\n", fSurveyObj->GetObservations().Data());
printf("Coordinate System: \"%s\"\n", fSurveyObj->GetCoordSys().Data());
printf("Measurement Units: \"%s\"\n", fSurveyObj->GetUnits().Data());
printf("Nr Columns: \"%d\"\n", fSurveyObj->GetNrColumns());
TObjArray *colNames = fSurveyObj->GetColumnNames();
for (Int_t i = 0; i < colNames->GetEntries(); ++i)
printf(" Column %d --> \"%s\"\n", i, ((TObjString *) colNames->At(i))->GetString().Data());
printf("Points:\n");
TObjArray *points = fSurveyObj->GetData();
for (Int_t i = 0; i < points->GetEntries(); ++i)
printf(" Point %d --> \"%s\" %s \n", i, ((AliSurveyPoint *) points->At(i))->GetPointName().Data(), points->At(i)->GetName());
}
void AliMUONSurveyChamber::FillCPSTHistograms(TString baseNameC, TH2 *hCPSTc, TString baseNameA, TH2 *hCPSTa) {
if(baseNameC.IsNull()||!hCPSTc){
AliError("Need base name for points on side C and/or a histogram for them!");
return;
}
AliMUONSurveyObj::FillSTHistograms(baseNameC,hCPSTc,baseNameA,hCPSTa);
}
void AliMUONSurveyChamber::FillDESTHistograms(TString baseNameC, TH2 *hDESTc, TString baseNameA, TH2 *hDESTa) {
for (Int_t iDE=0; iDE<GetNDetElem(); iDE++){
GetDetElem(iDE)->FillSTHistograms(baseNameC,hDESTc,baseNameA,hDESTa);
}
}
Double_t AliMUONSurveyChamber::GetMeanDetElemAlignResX() {
Double_t alignResX = 0.;
for (int iDE=0; iDE<GetNDetElem(); iDE++){
alignResX += GetDetElem(iDE)->GetAlignResX();
}
if (GetNDetElem()==0){
AliError("This Chamber has 0 detection elements!");
return 0.;
}
return alignResX/GetNDetElem();
}
Double_t AliMUONSurveyChamber::GetMeanDetElemAlignResY() {
Double_t alignResY = 0.;
for (int iDE=0; iDE<GetNDetElem(); iDE++){
alignResY += GetDetElem(iDE)->GetAlignResY();
}
if (GetNDetElem()==0){
AliError("This Chamber has 0 detection elements!");
return 0.;
}
return alignResY/GetNDetElem();
}
AliMUONSurveyChamber.cxx:1 AliMUONSurveyChamber.cxx:2 AliMUONSurveyChamber.cxx:3 AliMUONSurveyChamber.cxx:4 AliMUONSurveyChamber.cxx:5 AliMUONSurveyChamber.cxx:6 AliMUONSurveyChamber.cxx:7 AliMUONSurveyChamber.cxx:8 AliMUONSurveyChamber.cxx:9 AliMUONSurveyChamber.cxx:10 AliMUONSurveyChamber.cxx:11 AliMUONSurveyChamber.cxx:12 AliMUONSurveyChamber.cxx:13 AliMUONSurveyChamber.cxx:14 AliMUONSurveyChamber.cxx:15 AliMUONSurveyChamber.cxx:16 AliMUONSurveyChamber.cxx:17 AliMUONSurveyChamber.cxx:18 AliMUONSurveyChamber.cxx:19 AliMUONSurveyChamber.cxx:20 AliMUONSurveyChamber.cxx:21 AliMUONSurveyChamber.cxx:22 AliMUONSurveyChamber.cxx:23 AliMUONSurveyChamber.cxx:24 AliMUONSurveyChamber.cxx:25 AliMUONSurveyChamber.cxx:26 AliMUONSurveyChamber.cxx:27 AliMUONSurveyChamber.cxx:28 AliMUONSurveyChamber.cxx:29 AliMUONSurveyChamber.cxx:30 AliMUONSurveyChamber.cxx:31 AliMUONSurveyChamber.cxx:32 AliMUONSurveyChamber.cxx:33 AliMUONSurveyChamber.cxx:34 AliMUONSurveyChamber.cxx:35 AliMUONSurveyChamber.cxx:36 AliMUONSurveyChamber.cxx:37 AliMUONSurveyChamber.cxx:38 AliMUONSurveyChamber.cxx:39 AliMUONSurveyChamber.cxx:40 AliMUONSurveyChamber.cxx:41 AliMUONSurveyChamber.cxx:42 AliMUONSurveyChamber.cxx:43 AliMUONSurveyChamber.cxx:44 AliMUONSurveyChamber.cxx:45 AliMUONSurveyChamber.cxx:46 AliMUONSurveyChamber.cxx:47 AliMUONSurveyChamber.cxx:48 AliMUONSurveyChamber.cxx:49 AliMUONSurveyChamber.cxx:50 AliMUONSurveyChamber.cxx:51 AliMUONSurveyChamber.cxx:52 AliMUONSurveyChamber.cxx:53 AliMUONSurveyChamber.cxx:54 AliMUONSurveyChamber.cxx:55 AliMUONSurveyChamber.cxx:56 AliMUONSurveyChamber.cxx:57 AliMUONSurveyChamber.cxx:58 AliMUONSurveyChamber.cxx:59 AliMUONSurveyChamber.cxx:60 AliMUONSurveyChamber.cxx:61 AliMUONSurveyChamber.cxx:62 AliMUONSurveyChamber.cxx:63 AliMUONSurveyChamber.cxx:64 AliMUONSurveyChamber.cxx:65 AliMUONSurveyChamber.cxx:66 AliMUONSurveyChamber.cxx:67 AliMUONSurveyChamber.cxx:68 AliMUONSurveyChamber.cxx:69 AliMUONSurveyChamber.cxx:70 AliMUONSurveyChamber.cxx:71 AliMUONSurveyChamber.cxx:72 AliMUONSurveyChamber.cxx:73 AliMUONSurveyChamber.cxx:74 AliMUONSurveyChamber.cxx:75 AliMUONSurveyChamber.cxx:76 AliMUONSurveyChamber.cxx:77 AliMUONSurveyChamber.cxx:78 AliMUONSurveyChamber.cxx:79 AliMUONSurveyChamber.cxx:80 AliMUONSurveyChamber.cxx:81 AliMUONSurveyChamber.cxx:82 AliMUONSurveyChamber.cxx:83 AliMUONSurveyChamber.cxx:84 AliMUONSurveyChamber.cxx:85 AliMUONSurveyChamber.cxx:86 AliMUONSurveyChamber.cxx:87 AliMUONSurveyChamber.cxx:88 AliMUONSurveyChamber.cxx:89 AliMUONSurveyChamber.cxx:90 AliMUONSurveyChamber.cxx:91 AliMUONSurveyChamber.cxx:92 AliMUONSurveyChamber.cxx:93 AliMUONSurveyChamber.cxx:94 AliMUONSurveyChamber.cxx:95 AliMUONSurveyChamber.cxx:96 AliMUONSurveyChamber.cxx:97 AliMUONSurveyChamber.cxx:98 AliMUONSurveyChamber.cxx:99 AliMUONSurveyChamber.cxx:100 AliMUONSurveyChamber.cxx:101 AliMUONSurveyChamber.cxx:102 AliMUONSurveyChamber.cxx:103 AliMUONSurveyChamber.cxx:104 AliMUONSurveyChamber.cxx:105 AliMUONSurveyChamber.cxx:106 AliMUONSurveyChamber.cxx:107 AliMUONSurveyChamber.cxx:108 AliMUONSurveyChamber.cxx:109 AliMUONSurveyChamber.cxx:110 AliMUONSurveyChamber.cxx:111 AliMUONSurveyChamber.cxx:112 AliMUONSurveyChamber.cxx:113 AliMUONSurveyChamber.cxx:114 AliMUONSurveyChamber.cxx:115 AliMUONSurveyChamber.cxx:116 AliMUONSurveyChamber.cxx:117 AliMUONSurveyChamber.cxx:118 AliMUONSurveyChamber.cxx:119 AliMUONSurveyChamber.cxx:120 AliMUONSurveyChamber.cxx:121 AliMUONSurveyChamber.cxx:122 AliMUONSurveyChamber.cxx:123 AliMUONSurveyChamber.cxx:124 AliMUONSurveyChamber.cxx:125 AliMUONSurveyChamber.cxx:126 AliMUONSurveyChamber.cxx:127 AliMUONSurveyChamber.cxx:128 AliMUONSurveyChamber.cxx:129 AliMUONSurveyChamber.cxx:130 AliMUONSurveyChamber.cxx:131 AliMUONSurveyChamber.cxx:132 AliMUONSurveyChamber.cxx:133 AliMUONSurveyChamber.cxx:134 AliMUONSurveyChamber.cxx:135 AliMUONSurveyChamber.cxx:136 AliMUONSurveyChamber.cxx:137 AliMUONSurveyChamber.cxx:138 AliMUONSurveyChamber.cxx:139 AliMUONSurveyChamber.cxx:140 AliMUONSurveyChamber.cxx:141 AliMUONSurveyChamber.cxx:142 AliMUONSurveyChamber.cxx:143 AliMUONSurveyChamber.cxx:144 AliMUONSurveyChamber.cxx:145 AliMUONSurveyChamber.cxx:146 AliMUONSurveyChamber.cxx:147 AliMUONSurveyChamber.cxx:148 AliMUONSurveyChamber.cxx:149 AliMUONSurveyChamber.cxx:150 AliMUONSurveyChamber.cxx:151 AliMUONSurveyChamber.cxx:152 AliMUONSurveyChamber.cxx:153 AliMUONSurveyChamber.cxx:154 AliMUONSurveyChamber.cxx:155 AliMUONSurveyChamber.cxx:156 AliMUONSurveyChamber.cxx:157 AliMUONSurveyChamber.cxx:158 AliMUONSurveyChamber.cxx:159 AliMUONSurveyChamber.cxx:160 AliMUONSurveyChamber.cxx:161 AliMUONSurveyChamber.cxx:162 AliMUONSurveyChamber.cxx:163 AliMUONSurveyChamber.cxx:164 AliMUONSurveyChamber.cxx:165 AliMUONSurveyChamber.cxx:166 AliMUONSurveyChamber.cxx:167 AliMUONSurveyChamber.cxx:168 AliMUONSurveyChamber.cxx:169 AliMUONSurveyChamber.cxx:170 AliMUONSurveyChamber.cxx:171 AliMUONSurveyChamber.cxx:172 AliMUONSurveyChamber.cxx:173 AliMUONSurveyChamber.cxx:174 AliMUONSurveyChamber.cxx:175 AliMUONSurveyChamber.cxx:176 AliMUONSurveyChamber.cxx:177 AliMUONSurveyChamber.cxx:178 AliMUONSurveyChamber.cxx:179 AliMUONSurveyChamber.cxx:180 AliMUONSurveyChamber.cxx:181 AliMUONSurveyChamber.cxx:182