Message: Changing geometry rotation between runs with user commands Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

Question Changing geometry rotation between runs with user commands 

Forum: Geometry
Date: 25 Jan, 2017
From: <aodhanmci>

I am working on the 'Hadron Therapy' example and have successfully created commands to change the position of my detectors. It is also required to change the rotation of these detectors with User Commands between runs. I am having problems creating a newRotationMatrix for the Physical Volume (and subsequent G4Transform3D) as creating new values can only be done in terms of doubles or vectors from commands (I have used the DetectorConstructionMessenger.cc, .hh, and DetectorConstruction.cc, .hh) and it would be beneficial to directly add a matrix for active rotation. I am unsure how to input a matrix from user commands.

I would appreciate any help.

Below is an example of the error:

no viable conversion from 'G4ThreeVector' (aka 'CLHEP::Hep3Vector') to 'G4RotationMatrix *'
      (aka 'CLHEP::HepRotation *')
        virtualPhys -> SetRotation(VSolidRotation);

HadrontherapyDetectorMessenger.cc
.... //
else if (command == changeVirtualSolid1RotationCmd )
    {
      G4RotationMatrix const = changeVirtualSolid1RotationCmd -> GetNewRotation(newValue);
      hadrontherapyDetector -> SetVirtualSolid1Rotation(const);
    }

HadrontherapyDetector.cc

 if (virtualPhys)
    {

        virtualPhys -> SetTranslation(VSolidPlacement);
        virtualPhys -> SetRotation(VSolidRotation);

    }

Inline Depth:
 1 1
 All All
Outline Depth:
 1 1
 2 2
 All All
Add message: (add)

1 Idea: Re: Changing geometry rotation between runs with user commands   (Michael H. Kelsey - 26 Jan, 2017)
 Add Message Add Message
to: "Changing geometry rotation between runs with user commands"

 Subscribe Subscribe

This site runs SLAC HyperNews version 1.11-slac-98, derived from the original HyperNews


[ Geant 4 Home | Geant 4 HyperNews | Search | Request New Forum | Feedback ]