Hi Sue,
I will answer to your first question only: TGeoNode is a link between 2
volumes, having pointers to both. For this reason it is not a re-usable
object, being "personalized" to the combination. Of course that what you
require could be implemented, but it represents a potentially dangerous
operation and I see no special reason why you need it. Here is the
current scenario for adding a volume into another:
1. - make volume A
- make volume B
- put B inside A: A->AddNode(B, matrix) which automatically creates a
TGeoNode pointing to A and B
Your scenario is:
2. - make volume A
- make volume B
- make a node representing B: node = new TGeoNode(B, matrix);
- connect the node with A:
A->AddNode(node); // makes the link A->B
This is just an extra complication which would make sense only if you
are able to use the node inside another volume C:
C->AddNode(node); // makes the link C->B
This you cannot do because it destroys the link A->B. The situation is
much more complex in the case of divisions. For these reasons node
creation should not be handled by users.
Regards,
Andrei
Susan Kasahara wrote:
> Hi roottalk,
> I would like to write a class that inherits from TGeoNode and
> place nodes of this derived class in my constructed geometry
> volumes. I'm having trouble in that there is no TGeoVolume::AddNode
> method to support adding a preexisting node to a volume, e.g.
> there is no AddNode method of the form:
> TGeoVolume::AddNode(const TGeoNode* node)
> I'm wondering if its possible to add support for this.
> My second request is that I'd like to have the TVirtualMC methods
> which configure the MC:
> virtual void SetCut(const char* cutName, Double_t cutValue) = 0;
> virtual void SetProcess(const char* flagName, Int_t flagValue) = 0;
> return a value which indicates a success or failure for the setting
> of the requested flag/cut. This would allow the caller to take
> appropriate action if there is failure.
> Thanks for your help,
> -Sue
>
>
This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:08 MET