Beispiel #1
0
void drawArrowPlot(TChain *mc, TString varU, TString deltaU, TString varV, TString deltaV, Int_t nbinU, Double_t minU, Double_t maxU, Int_t nbinV, Double_t minV, Double_t maxV){

  TString uvname = generateRandomName();
  TString uname = generateRandomName();
  TString vname = generateRandomName();
  TH2D * UV = new TH2D(uvname,uvname,10*nbinU,minU,maxU,10*nbinV,minV,maxV);
  TProfile2D * dU = new TProfile2D(uname,uname,nbinU,minU,maxU,nbinV,minV,maxV);
  TProfile2D * dV = new TProfile2D(vname,vname,nbinU,minU,maxU,nbinV,minV,maxV);

  mc->Draw(varV+":"+varU+">>"+uvname,"(isAssoc==1)","goff");
  mc->Draw(deltaU+":"+varV+":"+varU+">>"+uname,"(isAssoc==1)","goffprof");
  mc->Draw(deltaV+":"+varV+":"+varU+">>"+vname,"(isAssoc==1)","goffprof");
  
  SetFancyGrayscalePalette();
  UV->Draw("colsame");


  for (Int_t iU=1; iU<nbinU+1; iU++){
    for (Int_t iV=1; iV<nbinV+1; iV++){
      
      Double_t uu = dU->GetXaxis()->GetBinCenter(iU);
      Double_t vv = dU->GetYaxis()->GetBinCenter(iV);
      Double_t du = dU->GetBinContent(iU,iV);
      Double_t dv = dV->GetBinContent(iU,iV);
      Double_t due = dU->GetBinError(iU,iV);
      Double_t dve = dV->GetBinError(iU,iV);
      
      drawArrow(uu,vv,du,due,dv,dve);

    }
  }
}
Beispiel #2
0
User::User()
{

	name = generateRandomName();

	
}
const String NameManager::makeCreatureName(int type, int species) {
	String name;
	NameData* data = getSpeciesData(species);

	// Covers all Imperial Trooper types
	if (type >= NameManagerType::STORMTROOPER && type <= NameManagerType::SWAMPTROOPER) {
		name = makeImperialTrooperName(type);
	} else {
		name = generateRandomName(data);
	}

	return name;
}
String NameManager::generateResourceName(const String& randomNameClass) {
	NameData* data;

	if (randomNameClass == "energy_resource")
		data = energyResourceData;
	else if (randomNameClass == "mineral_resource")
		data = mineralResourceData;
	else if (randomNameClass == "reactive_gas_resource")
		data = reactiveGasResourceData;
	else
		data = plainResourceData;

	return generateRandomName(data);
}
Beispiel #5
0
Widget::Widget(const std::string& name, point_type w, point_type h):
_parent    (0),
_index     (0),
_layer     (LAYER_LOW),
_padLeft   (0.0f),
_padRight  (0.0f),
_padTop    (0.0f),
_padBottom (0.0f),
_valign    (VA_CENTER),
_halign    (HA_CENTER),
_coordMode (CM_ABSOLUTE),
_canFill   (false),
_canClone  (true),
_isManaged (false),
_isStyled  (false),
_minWidth  (0.0f),
_minHeight (0.0f) {
    _name = name.size() ? name : generateRandomName("Widget");

    if(!_norms.valid()) {
        _norms = new PointArray(1);

        (*_norms)[0].set(0.0f, 0.0f, 1.0f);
        (*_norms)[0].normalize();
    }

    TexCoordArray* texs = new TexCoordArray(4);

    // Fill our texture coordinates with null stuff for now, since we aren't using them
    // until an Image is set at some later point.
    std::fill(texs->begin(), texs->end(), osg::Vec2(0.0f, 0.0f));

    setUseDisplayList(false);
    setDataVariance(osg::Object::DYNAMIC);
    setVertexArray(new PointArray(4));
    setColorArray(new ColorArray(4));
    setNormalArray(_norms.get());
    setTexCoordArray(0, texs);
    setNormalBinding(osg::Geometry::BIND_OVERALL);
    setColorBinding(osg::Geometry::BIND_PER_VERTEX);
    addPrimitiveSet(new osg::DrawArrays(osg::PrimitiveSet::QUADS, 0, 4));

    setDimensions(0.0f, 0.0f, w, h);
    setColor(1.0f, 1.0f, 1.0f, 1.0f);
}
Beispiel #6
0
void drawFrame(TString nameU, TString nameV, Double_t minU, Double_t maxU, Double_t minV, Double_t maxV, Int_t canH){

  TString name = generateRandomName();
  TH2F *frame = new TH2F(name,name+";"+nameU+";"+nameV,1,minU,maxU,1,minV,maxV); 
  frame->SetStats(0);
  frame->SetTitle("");
  // frame->GetYaxis()->SetDecimals(1);
  //  frame->GetXaxis()->SetNdivisions(520); //Default 510
  // frame->GetYaxis()->SetNdivisions(510); //Default 510
  // frame->GetXaxis()->SetMoreLogLabels();
  //  frame->GetXaxis()->SetNoExponent();
  frame->GetYaxis()->SetTitleOffset(ComputeTitleOffset(25, 55));
  //  frame->GetXaxis()->SetTitleOffset(1.);
  frame->SetLabelSize(ComputeRelSize(25),"xy");
  frame->SetTitleSize(ComputeRelSize(25),"xy");
  frame->Draw();

}
Beispiel #7
0
  TCanvas* makeNiceCanvasByFracMargins(Int_t pixelPerBin, Int_t nbinx, Int_t nbiny, Double_t top, Double_t bottom, Double_t left, Double_t right) {
  
  Int_t rubaX = 4; //determinato sperimentalmente                                                                          
  Int_t rubaY = 28; //determinato sperimentalmente                                                                                                        
  TString name = generateRandomName();

  Int_t plotBaseDimX = pixelPerBin*nbinx;
  Int_t plotBaseDimY = pixelPerBin*nbiny;
  Int_t XX = (Int_t)(plotBaseDimX/(1.-left-right));
  Int_t YY = (Int_t)(plotBaseDimY/(1.-top-bottom));
  TCanvas* can = new TCanvas(name,name,XX+rubaX,YY+rubaY);
  can->SetTopMargin(top);
  can->SetBottomMargin(bottom);
  can->SetRightMargin(right);
  can->SetLeftMargin(left);
  can->SetBorderMode(0);
  std::cout << "Nice canvas " << XX << " * " << YY << std::endl;
  return can;

}
Beispiel #8
0
TCanvas* makeNiceCanvas(Int_t pixelPerBin, Int_t nbinx, Int_t nbiny, Int_t top, Int_t bottom, Int_t left, Int_t right) {
  
  Int_t rubaX = 4; //determinato sperimentalmente                                                                          
  Int_t rubaY = 28; //determinato sperimentalmente                                                                                                        
  TString name = generateRandomName();

  Int_t plotBaseDimX = pixelPerBin*nbinx;
  Int_t plotBaseDimY = pixelPerBin*nbiny;
  Int_t XX = (plotBaseDimX+left+right+rubaX);
  Int_t YY = (plotBaseDimY+top+bottom+rubaY);
  TCanvas* can = new TCanvas(name,name,XX,YY);
  can->SetTopMargin(1.*top/YY);
  can->SetBottomMargin(1.*bottom/YY);
  can->SetRightMargin(1.*right/XX);
  can->SetLeftMargin(1.*left/XX);
  can->SetBorderMode(0);
  std::cout << "Nice canvas " << XX << " * " << YY << std::endl;
  return can;

}
Beispiel #9
0
 TH2F* drawFrame(TString nameU, TString nameV, Double_t minU, Double_t maxU, Double_t minV, Double_t maxV){
   
   TString name = generateRandomName();
   TH2F *frame = new TH2F(name,name+";"+nameU+";"+nameV,1,minU,maxU,1,minV,maxV); 
   frame->SetStats(0);
   frame->SetTitle("");
   // frame->GetYaxis()->SetDecimals(1);
   //  frame->GetXaxis()->SetNdivisions(520); //Default 510
   // frame->GetYaxis()->SetNdivisions(510); //Default 510
   // frame->GetXaxis()->SetMoreLogLabels();
   //  frame->GetXaxis()->SetNoExponent();
   Int_t effCharSize = 50;
   frame->GetYaxis()->SetTitleOffset(ComputeTitleOffset(effCharSize, 2.1*effCharSize));
   //  frame->GetXaxis()->SetTitleOffset(1.);
   frame->SetLabelSize(ComputeRelSize(effCharSize),"xy");
   frame->SetTitleSize(ComputeRelSize(effCharSize),"xy");
   frame->Draw();
   
   return frame;
   
 }
Beispiel #10
0
TCanvas* makeNiceCanvasByPixMargins(Int_t pixelPerBinX, Int_t pixelPerBinY, Int_t nbinx, Int_t nbiny, Int_t top, Int_t bottom, Int_t left, Int_t right) {
  
  Int_t rubaX = 4; //determinato sperimentalmente                                                                          
  Int_t rubaY = 28; //determinato sperimentalmente                                                                                                        

  TString name = generateRandomName();

  Int_t plotBaseDimX = pixelPerBinX*nbinx;
  Int_t plotBaseDimY = pixelPerBinY*nbiny;
  Int_t XX = (Int_t)(plotBaseDimX+left+right);
  Int_t YY = (Int_t)(plotBaseDimY+top+bottom);
  TCanvas* can = new TCanvas(name,name,XX+rubaX,YY+rubaY);
  can->SetTopMargin((1.*top)/(1.*YY));
  can->SetBottomMargin((1.*bottom)/(1.*YY));
  can->SetRightMargin(right/(1.*XX));
  can->SetLeftMargin(left/(1.*XX));
  can->SetBorderMode(0);
  std::cout << "Nice canvas " << XX << " * " << YY << " Margin: t " << can->GetTopMargin() << " b " << can->GetBottomMargin() << " l " << can->GetLeftMargin() << " r " << can->GetRightMargin() << std::endl;

  return can;

}
Beispiel #11
0
Window::Window(const std::string& name):
    _parent     (0),
    _wm         (0),
    _index      (0),
    _x          (0.0f),
    _y          (0.0f),
    _z          (0.0f),
    _zRange     (0.0f),
    _strata     (STRATA_NONE),
    _vis        (VM_FULL),
    _r          (0.0f),
    _s          (1.0f),
    _scaleDenom (100.0f),
    _vAnchor    (VA_NONE),
    _hAnchor    (HA_NONE)
{
    _name = name.size() ? name : generateRandomName("Window");

    // TODO: Fix the "bg" name.
    osg::Geode* geode = new osg::Geode();
    Widget*     bg    = new Widget(name + "bg", 0.0f, 0.0f);

    bg->setLayer(Widget::LAYER_BG);
    bg->setColor(1.0f, 1.0f, 1.0f, 1.0f);

    _setParented(bg);

    geode->addDrawable(bg);

    addChild(geode);
    setDataVariance(osg::Object::DYNAMIC);
    setEventMask(EVENT_ALL);

    getOrCreateStateSet()->setAttributeAndModes(
        new osg::Scissor(0, 0, 0, 0),
        osg::StateAttribute::ON
    );
}
Beispiel #12
0
WindowManager::WindowManager(
    osgViewer::View* view,
    point_type       width,
    point_type       height,
    unsigned int     nodeMask,
    unsigned int     flags
):
_width          (width),
_height         (height),
_windowWidth    (width),
_windowHeight   (height),
_flags          (flags),
_nodeMask       (nodeMask),
_view           (view),
_lastX          (0.0f),
_lastY          (0.0f),
_lastEvent      (0),
_lastPush       (0),
_lastVertical   (PD_NONE),
_lastHorizontal (PD_NONE),
_focusMode      (PFM_FOCUS),
_leftDown       (false),
_middleDown     (false),
_rightDown      (false),
_scrolling      (osgGA::GUIEventAdapter::SCROLL_NONE),
_styleManager   (new StyleManager()) {
    _name = generateRandomName("WindowManager");

    if(_flags & WM_USE_LUA) {
        _lua = new LuaEngine(this);

        if(!_lua->initialize()) warn() << "Error creating LuaEngine." << std::endl;
    }

    if(_flags & WM_USE_PYTHON) {
        _python = new PythonEngine(this);

        if(!_python->initialize()) warn() << "Error creating PythonEngine." << std::endl;
    }

    if(_flags & WM_USE_RENDERBINS) getOrCreateStateSet()->setMode(GL_DEPTH_TEST, false);

    // Setup our picking debug (is debug the right word here?) Window...
    if(_flags & WM_PICK_DEBUG) {
        _pickWindow = new Box("PickWindow", Box::VERTICAL);

        Label* label = new Label("PickLabel");

        label->setFontSize(13);
        label->setFontColor(1.0f, 1.0f, 1.0f, 1.0f);
        label->setFont("fonts/VeraMono.ttf");
        label->setPadding(5.0f);
        label->setCanFill(true);

        _pickWindow->getBackground()->setColor(0.0f, 0.0f, 0.0f, 0.85f);
        _pickWindow->addWidget(label);
        _pickWindow->setNodeMask(~_nodeMask);
        _pickWindow->removeEventMask(EVENT_MASK_FOCUS);
        _pickWindow->setStrata(Window::STRATA_FOREGROUND);

        addChild(_pickWindow.get());

        _updatePickWindow(0, 0, 0);
    }

    getOrCreateStateSet()->setMode(
        GL_BLEND,
        osg::StateAttribute::ON | osg::StateAttribute::OVERRIDE
    );
    getOrCreateStateSet()->setRenderingHint(osg::StateSet::TRANSPARENT_BIN);
}