99 Error(
"Compare",
"other object is not TGeoOverlap");
193 while (ipoint < npoints) {
200 if (itry>10000 && !ipoint) {
201 Error(
"SampleOverlap",
"No point inside volume!!! - aborting");
222 marker->
Draw(
"SAME");
228 Info(
"SampleOverlap",
"#Overlap %s has %g +/- %g [cm3]",
229 GetName(), capacity, err*capacity);
250 for (
Int_t i=0; i<npoints; i++) {
255 printf(
"point %d: safe1=%f\n", i, safe1);
261 printf(
"point %d: safe1=%f safe2=%f\n", i, safe1,safe2);
virtual const char * GetTitle() const
Returns title of object.
virtual void Sizeof3D() const =0
virtual void ExecuteVolumeEvent(TGeoVolume *volume, Int_t event, Int_t px, Int_t py)=0
virtual Double_t Rndm(Int_t i=0)
Machine independent random number generator.
void InspectShape() const
virtual void Info(const char *method, const char *msgfmt,...) const
Issue info message.
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py)
Event interception.
void Browse(TBrowser *b)
Define double-click action.
virtual Int_t Compare(const TObject *obj) const
Method to compare this overlap with another.
virtual Double_t GetDY() const
void box(Int_t pat, Double_t x1, Double_t y1, Double_t x2, Double_t y2)
virtual Double_t GetDZ() const
virtual void GetPoint(Int_t n, Float_t &x, Float_t &y, Float_t &z) const
Fills the parameters x, y, z with the coordinate of the n-th point n must be between 0 and Size() - 1...
virtual void DrawOverlap(void *ovlp, Option_t *option="")=0
ClassImp(TGeoOverlap) TGeoOverlap
Default ctor.
The TNamed class is the base class for all named ROOT classes.
virtual void SetMarkerColor(Color_t mcolor=1)
Bool_t IsExtrusion() const
virtual void MasterToLocal(const Double_t *master, Double_t *local) const
convert a point by multiplying its column vector (x, y, z, 1) to matrix
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py)
Distance to primitive for an overlap.
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
virtual Int_t DistanceToPrimitiveVol(TGeoVolume *vol, Int_t px, Int_t py)=0
virtual const Double_t * GetOrigin() const
void SetIsOverlap(Bool_t flag=kTRUE)
Using a TBrowser one can browse all ROOT objects.
void SampleOverlap(Int_t npoints=1000000)
Draw overlap and sample with random points the overlapping region.
virtual Double_t GetDX() const
Bool_t Contains(const Double_t *point) const
virtual void Sizeof3D() const
Get 3D size of this.
void SetNextPoint(Double_t x, Double_t y, Double_t z)
Set next overlapping point.
virtual ~TGeoOverlap()
Destructor.
virtual Double_t Safety(const Double_t *point, Bool_t in=kTRUE) const =0
virtual void LocalToMaster(const Double_t *local, Double_t *master) const
convert a point by multiplying its column vector (x, y, z, 1) to matrix inverse
TGeoManager * GetGeoManager() const
virtual const char * GetName() const
Returns name of object.
virtual void SetMarkerStyle(Style_t mstyle=1)
Double_t GetOverlap() const
R__EXTERN TRandom * gRandom
virtual void Draw(Option_t *option="")
Draws 3-D polymarker with its current attributes.
virtual Int_t SetNextPoint(Double_t x, Double_t y, Double_t z)
Set point following LastPoint to x, y, z.
TGeoShape * GetShape() const
virtual void Paint(Option_t *option="")
Paint the overlap.
void Validate() const
Validate this overlap.
ClassImp(TMCParticle) void TMCParticle printf(": p=(%7.3f,%7.3f,%9.3f) ;", fPx, fPy, fPz)
void Print(Option_t *option="") const
print the matrix in 4x4 format
virtual Double_t Capacity() const =0
Mother of all ROOT objects.
virtual void Draw(Option_t *option="")
Draw the overlap.
virtual void PrintInfo() const
Print some info.
virtual Int_t GetN() const
Double_t Sqrt(Double_t x)
virtual void Print(Option_t *option="") const
Print detailed info.
virtual void PaintOverlap(void *ovlp, Option_t *option="")=0
TVirtualGeoPainter * GetGeomPainter()
Make a default painter if none present. Returns pointer to it.