This program creates trivial geometry with several tracks and configure online monitoring of geometry via THttpServer Geometry regularly changed by the program and correspondent changes immediately seen in the browser.
bool draw_geometry = false;
bool set_time_interval = false;
int interval = 2000;
void create_geo()
{
}
if (serv) {
}
double x = -8+16*rnd->Rndm();
double y = -8+16*rnd->Rndm();
double z = -8+16*rnd->Rndm();
if (set_time_interval)
if (rnd->Rndm() < 0.5)
else
for (int j = 0; j < 50; j++) {
if (rnd->Rndm() < 0.5)
else
track->SetLineColor(
kBlue);
track->SetLineWidth(2);
track->AddPoint(
x,
y, z, 0);
double x1 = -10 + 20*rnd->Rndm();
double y1 = -10 + 20*rnd->Rndm();
double z1 = -10 + 20*rnd->Rndm();
if (set_time_interval) {
for (
int np = 1;
np < 40;
np++)
track->SetMarkerColor(
kGreen);
track->SetMarkerSize(1);
track->SetMarkerStyle(8);
} else {
track->AddPoint(
x1,
y1, z1, 0);
}
}
if (draw_geometry) {
}
}
void httpgeom(bool draw = false, bool tm = false)
{
draw_geometry = draw;
set_time_interval = tm;
}
int Int_t
Signed integer 4 bytes (int)
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t np
Option_t Option_t TPoint TPoint const char x1
Option_t Option_t TPoint TPoint const char y1
R__EXTERN TGeoManager * gGeoManager
R__EXTERN TRandom * gRandom
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
virtual void SetLineColor(Color_t lcolor)
Set the line color.
Class describing rotation + translation.
void RegisterYourself() override
Register the matrix in the current manager, which will become the owner.
void SetTranslation(const TGeoTranslation &tr)
copy the translation component
The manager class for any TGeo geometry.
Int_t AddTrack(Int_t id, Int_t pdgcode, TObject *particle=nullptr)
Add a track to the list of tracks.
TVirtualGeoTrack * GetTrack(Int_t index)
void CloseGeometry(Option_t *option="d")
Closing geometry implies checking the geometry validity, fixing shapes with negative parameters (run-...
TGeoVolume * MakeBox(const char *name, TGeoMedium *medium, Double_t dx, Double_t dy, Double_t dz)
Make in one step a volume pointing to a box shape with given medium.
void SetTopVolume(TGeoVolume *vol)
Set the top volume and corresponding node as starting point of the geometry.
void SetTminTmax(Double_t tmin=0, Double_t tmax=999)
Set time cut interval for drawing tracks.
void DrawTracks(Option_t *option="")
Draw tracks over the geometry, according to option.
Base class describing materials.
void SetTransparency(Char_t transparency=0)
Media are used to store properties related to tracking and which are useful only when using geometry ...
TGeoVolume, TGeoVolumeMulti, TGeoVolumeAssembly are the volume classes.
virtual TGeoNode * AddNode(TGeoVolume *vol, Int_t copy_no, TGeoMatrix *mat=nullptr, Option_t *option="")
Add a TGeoNode to the list of nodes.
void Draw(Option_t *option="") override
draw top volume according to option
void SetLineColor(Color_t lcolor) override
Set the line color.
Online http server for arbitrary ROOT application.
Bool_t Register(const char *subfolder, TObject *obj)
Register object in subfolder.
Bool_t Unregister(TObject *obj)
Unregister object.
Bool_t SetItemField(const char *fullname, const char *name, const char *value)
Set item field in sniffer.
Handles synchronous and a-synchronous timer events.
virtual void TurnOn()
Add the timer to the system timer list.