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();
}