// Event Display // Example of Using // Electron and positron in the magnetic field #include "VRMLFile.h" #include "LocalHelix.h" #include "TrackedParticle.h" #include "VRMLInit.h" #include <CLHEP/ThreeVector.h> #include "MagneticField.h" main(){ // Create 100 GeV electron Hep3VectorF pos1(0, 0, 0); Hep3VectorF dir1(1, 1, 1); dir1 = dir1.unit(); Hep3VectorF cur1(1, 1, 1); cur1 = cur1.unit(); LocalHelix myHelix1(pos1, dir1, cur1); TrackedParticle electron(myHelix1, 1, 100, 0); // Create 100 GeV positron Hep3VectorF pos2(0, 0, 0); Hep3VectorF dir2(1, 1, 1); dir2 = dir2.unit(); Hep3VectorF cur2(1, 1, 1); cur2 = cur2.unit(); LocalHelix myHelix2(pos2, dir2, cur2); TrackedParticle positron(myHelix2, -1, 100, 0); // Create Magnetic Field MagneticField mField; // Create Event Display VRML File VRMLFile myFile("display.wrl"); VRMLInit init; myFile.display(init); // Send both particles trough simple magnetic field // and display them myFile.display(electron); myFile.display(positron); for(float i = 1; i < 200; i++) { mField.goByStep(electron, 0.01); mField.goByStep(positron, 0.01); myFile.display(electron); myFile.display(positron); } }