|Message: Re: Adding quadrupole||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)|
I've done my quadrupole in this way:
G4double piradius = 13.0*m; G4double phlengthz = 9.8/2*cm; G4Material* vacuum = G4Material::GetMaterial("Vacuum");
G4RotationMatrix *rotm = new G4RotationMatrix; rotm->rotateY(45*deg);
G4double fGradient = -223.*tesla/m; G4QuadrupoleMagField* pipeField = new G4QuadrupoleMagField(fGradient); G4Mag_UsualEqRhs* myEquationq = new G4Mag_UsualEqRhs(pipeField); G4MagIntegratorStepper* myStepperq = new G4ClassicalRK4(myEquationq); G4ChordFinder* myChordFinderq = new G4ChordFinder(pipeField,0.1e-3*mm,myStepperq);
G4FieldManager* fieldMgrq = new G4FieldManager(pipeField,myChordFinderq,true);
G4VSolid* beamPipeSolid = new G4Tubs("BeamPipe_Solid", 0*cm, piradius*cm, phlengthz*m, 0.*deg, 360.*deg);
G4LogicalVolume* beamPipeLogical = new G4LogicalVolume(beamPipeSolid, vacuum, "BeamPipe_Logical",fieldMgrq);
new G4PVPlacement(rotm, G4ThreeVector(0.,0.,0), beamPipeLogical, "BeamPipe_Physical", fpWorldLogical, false, 0);
A beam is also turned by 45 deg. And now I have a question. I have noticed that my Gradient variable, called by me as fGradient, is defined in the global coordinate system. So in my case it doesn't work as it should. The Beam, which I'm generating, is not going in the center of the beamPipe, it turns right. So here is my question, what can I do to fix it? Maybe there is some kind of method to rotate the gradient or define it in local coordinates?
|Inline Depth:||Outline Depth:||Add message:|