+//____________________________________________________________________
+void
+AliFMDPattern::AliFMDPatternDetector::CopyShapes(TObjArray& src,
+ TObjArray& dest,
+ Double_t ang,
+ Double_t fx,
+ Double_t fy)
+{
+ TIter next(&src);
+ TGraph* g = 0;
+ while ((g = static_cast<TGraph*>(next()))) {
+ TGraph* gg = new TGraph(*g);
+ Double_t* x = gg->GetX();
+ Double_t* y = gg->GetY();
+ for (Int_t i = 0; i < gg->GetN(); i++) {
+ Float_t xx = x[i] * TMath::Cos(ang) - y[i] * TMath::Sin(ang);
+ Float_t yy = x[i] * TMath::Sin(ang) + y[i] * TMath::Cos(ang);
+ gg->SetPoint(i, fx * xx, fy * yy);
+ }
+ gg->SetFillStyle(g->GetFillStyle());
+ gg->SetFillColor(g->GetFillColor());
+ gg->SetLineStyle(g->GetLineStyle());
+ gg->SetLineColor(g->GetLineColor());
+ gg->SetLineWidth(g->GetLineWidth());
+ gg->SetMarkerStyle(g->GetMarkerStyle());
+ gg->SetMarkerColor(g->GetMarkerColor());
+ gg->SetMarkerSize(g->GetMarkerSize());
+ TString name(g->GetName());
+ name.ReplaceAll("X", Form("%d",fId));
+ gg->SetName(name.Data());
+ TString title(g->GetTitle());
+ title.ReplaceAll("X", Form("%d",fId));
+ gg->SetTitle(title.Data());
+ dest.Add(gg);
+ }
+ dest.SetOwner();
+}
+