void Avalanche::DrawDrift() { if (dx0->size() < 2) return; // Bounding box Int_t min_t_i = min_element(dt1->begin(), dt1->end()) - dt1->begin(); Int_t max_t_i = max_element(dt1->begin(), dt1->end()) - dt1->begin(); TPolyLine3D* boundingBox = new TPolyLine3D(2); boundingBox->SetPoint(0, dx1->at(max_t_i), dy1->at(max_t_i), dz0->at(max_t_i)); boundingBox->SetPoint(1, dx1->at(min_t_i), dy1->at(min_t_i), dz1->at(min_t_i)); boundingBox->SetLineWidth(2); boundingBox->SetLineColor(kGreen); boundingBox->Draw(); // Drift electrons for (uint e=1; e<dx0->size(); e++) { TPolyLine3D* track = new TPolyLine3D(2); track->SetPoint(0, dx0->at(e), dy0->at(e), dz0->at(e)); track->SetPoint(1, dx1->at(e), dy1->at(e), dz1->at(e)); track->SetLineWidth(1); track->SetLineStyle(3); track->SetLineColor(kBlue); track->Draw(); } }
void Avalanche::DrawPhotoconversion() { TPolyLine3D* track = new TPolyLine3D(2); track->SetPoint(0, pcPosx, pcPosy, pcPosz); track->SetPoint(1, pcPosx + .5*pcPx, pcPosy + .5*pcPy, pcPosz + .5*pcPz); track->SetLineWidth(2); track->SetLineColor(kRed); track->Draw(); }