|Message: Re: "T" form Tube||Not Logged In (login)|
Click on the Forum title, e.g. on the "Forums by Category" page, to read a sequence of postings to the Forum and its threads all in one page. If you are only interested in one thread or the thread following a specific posting, click the thread or the posting, which takes you to a smaller page, which contains only the part you are interested in and may be easier to navigate.
Messages are "chained" if there are only replies at the first level, i.e. 1/1.html, 1/1/1.html etc. In case of "chained" messages the message number is replaced by the icon and there is no indentation.
Inline: Display the subject line only or also the text of the posting(s); for the choice "All" the "Outline" choices are switched off.
|1||0||1||no text / full text of posting|
|2||1||All||text for level 1 only / text for All postings|
Outline: Choose the depth of the posting thread, successive toggle controls provide increasing detail.
|1||2||1||2 levels / 1 level (original posting)|
|2||3||2||3 levels / 2 levels|
|3||3||All||3 levels / all levels (all postings)|
Hello again John, I'm builting the T form tube on Geant4, and done the following steps: G4RotationMatrix* rm1 = new G4RotationMatrix(); rm1->rotateX(90.*deg); G4ThreeVector tr1 = G4ThreeVector(0,0,dim_X1/2); G4VSolid* Tube1 = new G4Tubs("Tube1",Inner_radius,Tube_radius,5*dim_X1,startAngle,spanningAngle); G4VSolid* Tube2 = new G4Tubs("Tube2",Inner_radius,Tube_radius,dim_X1/2,startAngle,spanningAngle); G4VSolid* Cyllinder1 = new G4Tubs("Cyl1",0,Inner_radius,5*dim_X1,startAngle,spanningAngle); G4VSolid* Cyllinder2 = new G4Tubs("Cyl2",0,Inner_radius,dim_X1/2,startAngle,spanningAngle); G4VSolid* Union1 = new G4UnionSolid("Tube1+Tube2",Tube1,Tube2); G4VSolid* Intersection1 = new G4IntersectionSolid("Tube1&&Cyllinder2",Tube1,Cyllinder2); G4VSolid* Intersection2 = new G4IntersectionSolid("Tube2&&Cyllinder1",Tube2,Cyllinder1); G4VSolid* Subtraction1 = new G4SubtractionSolid("Union1-Intersection1",Union1,Intersection1); G4VSolid* Subtraction2 = new G4SubtractionSolid("Subtraction1-Intersection2",Subtraction1,Intersection2); G4VSolid* Subtraction3 = new G4SubtractionSolid("Subtraction2-Cyllinder1",Subtraction2,Cyllinder1); G4VSolid* Subtraction4 = new G4SubtractionSolid("Subtraction3-Cyllinder2",Subtraction3,Cyllinder2); I just need to rotate one of the tubes and translate the other before the Booleans.... I always rotate a volume on it's logical respective.. Could you help me, please? Thanks in advance. Leonardo. 2013-08-28 11:33 GMT-03:00 John Apostolakis <firstname.lastname@example.org>: > > *** Discussion title: Geometry > > Dear Leonardo, > > Please look at the Root forums for help with this issue - they are more > qualified to advise if you intend to build a geometry that way and then > port it to Geant4. > > For a complicated shape as the one you appear to be building, I would > suggest a different approach to your boolean operation. > > Instead of using the constructs > A - B - C - D > I suggest to make a Union of B, C and D and then subtract that from A: > > A - ( B U C U D ) - where 'U' is Union. > > I also note that in Geant4 the visualiation of Boolean volumes is > tricky. The most robust option to use the ray Tracing viewers, which > show you the view of the Geometry as the Navigator sees it. This is > slower than the 'simple' visualisation, but for complicated shapes, such > as this, it is much more reliable. For further suggestins please look in > our applications developers guide, and conslut the responses to queries > about this topic in the User Forum area for visualisation. > > Regards, > John > > On 8/27/13 3:54 PM, Leonardo Ghizoni wrote: > > *** Discussion title: Geometry > > > > Hello, > > > > I'm trying to build a tube in a "T" form, but getting some problems... > > > > First, I'm trying to build it on ROOT (its faster to compile), but not > > sure if I'm getting it right. > > > > Here's what I'm trying to do: > > > > TGeoBBox *Tube1 = new > TGeoTube("Tube1",Inner_radius,Tube_radius,dim_X1); > > TGeoBBox *Tube2 = new > TGeoTube("Tube2",Inner_radius,Tube_radius,dim_X1/2); > > TGeoBBox *Tube3 = new TGeoTube("Tube3",0,Inner_radius,dim_X1); > > TGeoBBox *Tube4 = new TGeoTube("Tube4",0,Inner_radius,dim_X1/2); > > > > TGeoRotation *r1 = new TGeoRotation("r1",0,90,0); > > r1->RegisterYourself(); > > TGeoTranslation *t1 = new TGeoTranslation(0.,0.,dim_X1/2); > > t1->SetName("t1"); > > t1->RegisterYourself(); > > > > TGeoCompositeShape *Cs = new > TGeoCompositeShape("Cs","(Tube1:r1+Tube2:t1)-(Tube1:r1*Tube3:r1)-(Tube2:t1*Tube4:t1)-(Tube3:r1+Tube4:t1)"); > > TGeoVolume *comp = new TGeoVolume("COMP",Cs); > > comp->SetLineColor(kBlue); > > top->AddNode(comp,1); > > > > The problem is that I cannot visualize it with OpenGL, and don't for > > sure what's the result. > > > > Could someone help me, if possible?? > > > > Thanks in advance. > > > > Leonardo. > > > > ------------------------------------------------------------- > > Visit this GEANT4 at hypernews.slac.stanford.edu message (to reply or > unsubscribe) at: > > > http://hypernews.slac.stanford.edu/HyperNews/geant4/get/geometry/1291.html > > ------------------------------------------------------------- > Visit this GEANT4 at hypernews.slac.stanford.edu message (to reply or > unsubscribe) at: > > http://hypernews.slac.stanford.edu/HyperNews/geant4/get/geometry/1291/1.html > [ MIME part of type text/html without a name stripped ]
|Inline Depth:||Outline Depth:||Add message:|