本文整理汇总了C++中TMarker::DrawMarker方法的典型用法代码示例。如果您正苦于以下问题:C++ TMarker::DrawMarker方法的具体用法?C++ TMarker::DrawMarker怎么用?C++ TMarker::DrawMarker使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TMarker
的用法示例。
在下文中一共展示了TMarker::DrawMarker方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Show_SR
void Show_SR(TString oredList, TCanvas *can, float xlow, float xhigh, float ylow, float yhigh, bool useShape, TLegend *leg)
{
Int_t c_myRed = TColor::GetColor("#aa000");
can->cd();
TLatex lat;
//lat.SetTextAlign( 11 );
lat.SetTextSize( 0.0265 );
lat.SetTextColor( 12 );
lat.SetTextFont( 42 );
cout << "Draw signal region labels." << endl;
gROOT->ProcessLine(".L summary_harvest_tree_description.h+");
gSystem->Load("libSusyFitter.so");
TString txtfile=oredList;
txtfile.ReplaceAll(".root","");
TTree* tree = harvesttree( txtfile!=0 ? txtfile : 0 );
if (tree==0) {
cout << "Cannot open list file. Exit." << endl;
return;
}
Float_t fID;
Float_t m0;
Float_t m12;
TBranch *b_m0;
TBranch *b_m12;
TBranch *b_fID;
tree->SetBranchAddress("m0", &m0, &b_m0);
tree->SetBranchAddress("m12", &m12, &b_m12);
tree->SetBranchAddress("fID", &fID, &b_fID);
bool drawMarker;
for( Int_t i = 0; i < tree->GetEntries(); i++ ){
drawMarker = false;
tree->GetEntry( i );
cout << m0 << " " << m12 << " " << fID << endl;
TMarker marker;
//marker.SetMarkerColor(4);
marker.SetMarkerSize(2.5);
marker.SetMarkerStyle(29);
int _m0 = (int) m0;
int _m12 = (int) m12;
if(oredList.Contains("GG")){
if( (_m0 == 700 && _m12 == 550) || (_m0 == 1162 && _m12 == 337) || (_m0 == 1250 && _m12 == 50) )
drawMarker = true;
} else if(oredList.Contains("SS")){
if( (_m0 == 850 && _m12 == 100) || (_m0 == 450 && _m12 == 400))
drawMarker = true;
} else if(oredList.Contains("SG")){
if( (_m0 == 1425 && _m12 == 525) || (_m0 == 1612 && _m12 == 37))
drawMarker = true;
}
if (drawMarker)
marker.DrawMarker(m0, m12);
TString mySR = GetSRName(fID, useShape);
lat.DrawLatex(m0,m12,mySR.Data());
}
leg->Draw("same");
// add up/down lines
TLine *line1;
TLine *line2;
if (oredList.Contains("GG")) {
line1 = new TLine( 972, 1412, 1062, 1412);
line2 = new TLine( 972, 1355, 1062, 1355);
cout << "GG line1" << endl;
} else if (oredList.Contains("SS")) {
line1 = new TLine( 793, 1128, 860, 1128);
line2 = new TLine( 793, 1081, 860, 1081);
cout << "SS line1" << endl;
} else if (oredList.Contains("SG")) {
line1 = new TLine( 1150, 1645, 1260, 1645);
line2 = new TLine( 1150, 1565, 1260, 1565);
cout << "SG line1" << endl;
}
/*
line1->SetLineWidth(2);
line1->SetLineColor(c_myRed);
line1->SetLineStyle(3);
line1->Draw("SAME") ;
line2->SetLineWidth(2);
line2->SetLineColor(c_myRed);
line2->SetLineStyle(3);
line2->Draw("SAME") ;
//.........这里部分代码省略.........
示例2: plotAnitaEventMap
void plotAnitaEventMap(Adu5Pat *patPtr,double phi,double theta){
double sourceLon,sourceLat,headLon,headLat,phi10Lon,phi10Lat,phi6Lon,phi6Lat,phi14Lon,phi14Lat,actualLat,actualLon,actual2Lat,actual2Lon;
float xEvent,yEvent,xAnita,yAnita,anitaLat,anitaLon,anitaAlt,xHead,yHead,x10,y10,x6,y6,x14,y14,yActual,xActual,yActual2,xActual2;
anitaLat = patPtr->latitude;
anitaLon = patPtr->longitude;
anitaAlt = patPtr->altitude;
UsefulAdu5Pat usefulPat(patPtr);
std::cout << "source " << std::endl;
//int sourceLoc = usefulPat.getSourceLonAndLatAltZero((180-phi)/180.*PI,(theta)/180.*PI,sourceLon,sourceLat);
int sourceLoc = usefulPat.getSourceLonAndLatAltZero((phi)/180.*PI,(theta)/180.*PI,sourceLon,sourceLat);
std::cout << std::endl << "heading " << std::endl;
int headLoc = usefulPat.getSourceLonAndLatAltZero(0./180.*PI,10./180.*PI,headLon,headLat);
std::cout << std::endl << "phi 10 " << std::endl;
int headLoc10 = usefulPat.getSourceLonAndLatAltZero(180./180.*PI,10./180.*PI,phi10Lon,phi10Lat);
std::cout << std::endl << "phi 14 " << std::endl;
int headLoc14 = usefulPat.getSourceLonAndLatAltZero(270./180.*PI,10./180.*PI,phi14Lon,phi14Lat);
std::cout << std::endl << "phi 6 " << std::endl;
int headLoc6 = usefulPat.getSourceLonAndLatAltZero(90./180.*PI,10./180.*PI,phi6Lon,phi6Lat);
std::cout << std::endl << "actual 14.5 " << std::endl;
int actualLoc = usefulPat.getSourceLonAndLatAltZero(phi/180.*PI,12.5/180.*PI,actualLon,actualLat);
std::cout << std::endl << "actual 4.5 " << std::endl;
int actualLoc2 = usefulPat.getSourceLonAndLatAltZero(phi/180.*PI,7.5/180.*PI,actual2Lon,actual2Lat);
//int sourceLoc = usefulPat.getSourceLonAndLatAltZero((phi)/180.*PI,(TMath::PiOver2()-theta)/180.*PI,sourceLon,sourceLat);
TImage *map = TImage::Open("/home/mottram/work/eventCorrelator/macros/antarcticaIceMap.png");
std::cout << "sourceLoc " << sourceLoc << " phi " << phi << " theta " << theta << " lon " << sourceLon << " lat " << sourceLat << std::endl;
gStyle->SetMarkerColor(kBlack);
//gStyle->SetMarkerSize(2);
gStyle->SetTextSize(0.02);
TMarker *anitaPos = new TMarker(xAnita,yAnita,23);
getRelXYFromLatLong(anitaLat,anitaLon,xAnita,yAnita);
getRelXYFromLatLong(static_cast<float>(sourceLat),static_cast<float>(sourceLon),xEvent,yEvent);
getRelXYFromLatLong(static_cast<float>(headLat),static_cast<float>(headLon),xHead,yHead);
getRelXYFromLatLong(static_cast<float>(phi10Lat),static_cast<float>(phi10Lon),x10,y10);
getRelXYFromLatLong(static_cast<float>(phi14Lat),static_cast<float>(phi14Lon),x14,y14);
getRelXYFromLatLong(static_cast<float>(phi6Lat),static_cast<float>(phi6Lon),x6,y6);
getRelXYFromLatLong(static_cast<float>(actualLat),static_cast<float>(actualLon),xActual,yActual);
getRelXYFromLatLong(static_cast<float>(actual2Lat),static_cast<float>(actual2Lon),xActual2,yActual2);
TCanvas *canMap=(TCanvas*)gROOT->FindObject("canMap");
if(!canMap)
canMap = new TCanvas("canMap","canMap",(int)xSize,(int)ySize);
canMap->Clear();
canMap->SetLogz();
canMap->SetTopMargin(0);
canMap->SetBottomMargin(0);
canMap->SetLeftMargin(0);
canMap->SetRightMargin(0);
map->Draw("");
TMarker *headingPos = new TMarker(xHead,yHead,29);
TMarker *heading14Pos = new TMarker(x14,y14,29);
TMarker *heading10Pos = new TMarker(x10,y10,29);
TMarker *heading6Pos = new TMarker(x6,y6,29);
TMarker *actualPos = new TMarker(xActual,yActual,29);
TMarker *actual2Pos = new TMarker(xActual2,yActual2,29);
headingPos->SetMarkerColor(kRed);
heading14Pos->SetMarkerColor(kGray);
heading10Pos->SetMarkerColor(kGray+2);
heading6Pos->SetMarkerColor(kViolet);
actualPos->SetMarkerColor(kRed+2);//12.5 theta
actual2Pos->SetMarkerColor(kBlue+2);//7.5 theta
headingPos->Draw("");
heading14Pos->Draw("");
heading10Pos->Draw("");
heading6Pos->Draw("");
actualPos->Draw("");
actual2Pos->Draw("");
anitaPos->DrawMarker(xAnita,yAnita);
TLatex *positionLabel=0;
char label[FILENAME_MAX];
if(sourceLoc==0){
if(anitaAlt<0){
sprintf(label,"Could not get event position, ANITA below 0 altitude!");
}
else if(theta>0){
sprintf(label,"Pointing upwards! Cannot locate source at ground position");
}
else{
sprintf(label,"Unkown error, cannot position source at 0 altitude");
}
positionLabel = new TLatex();
positionLabel->DrawLatex(0.05,0.95,label);
return;
}
TMarker *eventPos = new TMarker(xEvent,yEvent,29);
eventPos->SetMarkerColor(kBlack);
eventPos->Draw("");
sprintf(label,"ANITA location: lat %f; long %f; alt %f, x %f, y %f",anitaLat,anitaLon,anitaAlt,xAnita,yAnita);
//.........这里部分代码省略.........
示例3: Drawing
//.........这里部分代码省略.........
for(unsigned int i=0; i<fr->J1_PseudoPoints.size(); i++)
{
for(unsigned int j=0; j<fr->J3_PseudoPoints.size(); j++)
{
for(unsigned int k=0; k<fr->J4_PseudoPoints.size(); k++)
{
double Rad = FindR(fr->J1_PseudoPoints[i],fr->J3_PseudoPoints[j],fr->J4_PseudoPoints[k]);
double Xcen = FindX(fr->J1_PseudoPoints[i].X(),fr->J1_PseudoPoints[i].Y(),fr->J3_PseudoPoints[j].X(),fr->J3_PseudoPoints[j].Y(),fr->J4_PseudoPoints[k].X(),fr->J4_PseudoPoints[k].Y());
double Ycen = FindY(fr->J1_PseudoPoints[i].X(),fr->J1_PseudoPoints[i].Y(),fr->J3_PseudoPoints[j].X(),fr->J3_PseudoPoints[j].Y(),fr->J4_PseudoPoints[k].X(),fr->J4_PseudoPoints[k].Y());
Hough->Fill(Xcen,Ycen,Rad);
Houghxy->Fill(Xcen,Ycen);
Houghyr->Fill(Ycen,Rad);
Houghxr->Fill(Xcen,Rad);
}
}
}
}
//J2,J3,J4;
if(fr->J2_PseudoPoints.size() >= 1 && fr->J3_PseudoPoints.size() >= 1 && fr->J4_PseudoPoints.size() >= 1)
{
for(unsigned int i=0; i<fr->J2_PseudoPoints.size(); i++)
{
for(unsigned int j=0; j<fr->J3_PseudoPoints.size(); j++)
{
for(unsigned int k=0; k<fr->J4_PseudoPoints.size(); k++)
{
double Rad = FindR(fr->J2_PseudoPoints[i],fr->J3_PseudoPoints[j],fr->J4_PseudoPoints[k]);
double Xcen = FindX(fr->J2_PseudoPoints[i].X(),fr->J2_PseudoPoints[i].Y(),fr->J3_PseudoPoints[j].X(),fr->J3_PseudoPoints[j].Y(),fr->J4_PseudoPoints[k].X(),fr->J4_PseudoPoints[k].Y());
double Ycen = FindY(fr->J2_PseudoPoints[i].X(),fr->J2_PseudoPoints[i].Y(),fr->J3_PseudoPoints[j].X(),fr->J3_PseudoPoints[j].Y(),fr->J4_PseudoPoints[k].X(),fr->J4_PseudoPoints[k].Y());
Hough->Fill(Xcen,Ycen,Rad);
Houghxy->Fill(Xcen,Ycen);
Houghyr->Fill(Ycen,Rad);
Houghxr->Fill(Xcen,Rad);
}
}
}
}
/*
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!DO NOT ERASE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//Forming PseudoPoints:
for(unsigned int ps=0; ps<fr->AllX.size(); ps++)
{
for(unsigned int s=0; s<fr->AllY.size(); s++)
{
fr->PseudoPoints.push_back(TVector3(fr->AllX[ps].Cor(),fr->AllY[s].Cor(),0));
}
}
//Full Combinatorial:
for(unsigned int i=0; i<fr->PseudoPoints.size()-2; i++)
{
for(unsigned int j=i+1; j<fr->PseudoPoints.size()-1; j++)
{
for(unsigned int k=j+1; k<fr->PseudoPoints.size(); k++)
{
double Rad = FindR(fr->PseudoPoints[i],fr->PseudoPoints[j],fr->PseudoPoints[k]);
double Xcen = FindX(fr->PseudoPoints[i].X(),fr->PseudoPoints[i].Y(),fr->PseudoPoints[j].X(),fr->PseudoPoints[j].Y(),fr->PseudoPoints[k].X(),fr->PseudoPoints[k].Y());
double Ycen = FindY(fr->PseudoPoints[i].X(),fr->PseudoPoints[i].Y(),fr->PseudoPoints[j].X(),fr->PseudoPoints[j].Y(),fr->PseudoPoints[k].X(),fr->PseudoPoints[k].Y());
Hough->Fill(Xcen,Ycen,Rad);
Houghxy->Fill(Xcen,Ycen);
Houghyr->Fill(Ycen,Rad);
Houghxr->Fill(Xcen,Rad);
}
}
}
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
*/
int xbin, ybin, zbin;
xbin=0; ybin=0; zbin=0;
Hough->GetMaximumBin(xbin, ybin, zbin);
//cout << "xbin= " << xbin << " ybin= " << ybin << " zbin= " << zbin << endl;
TAxis *xaxis = Hough->GetXaxis();
double Xrec=xaxis->GetBinCenter(xbin);
cout<<"Xrec= "<< Xrec <<endl;
TAxis *yaxis = Hough->GetYaxis();
double Yrec=yaxis->GetBinCenter(ybin);
cout<<"Yrec= "<< Yrec <<endl;
TAxis *zaxis = Hough->GetZaxis();
double Rrec=zaxis->GetBinCenter(zbin);
cout<<"Rrec= "<< Rrec <<endl;
//Drawing the founded ring and its center:
TEllipse ring (Xrec,Yrec,Rrec,Rrec,1,360,0);
ring.SetLineColor(2);
ring.SetFillStyle(0);
ring.DrawEllipse(Xrec,Yrec,Rrec,Rrec,0,360,0);
HBD->Update();
TMarker circumcenter (Xrec,Yrec,8);
circumcenter.SetMarkerColor(2);
circumcenter.SetMarkerSize(1);
circumcenter.DrawMarker(Xrec,Yrec);
HBD->Update();
}