#include using std::cout; using std::cerr; using std::cin; using std::endl; #include using std::valarray; #include using std::vector; #include using std::string; #include using std::list; #include #include using std::fstream; #include using std::pair; #include using std::map; //#include #include "TROOT.h" #include "TRint.h" #include "TVector3.h" #include "TRandom.h" #include "TRotation.h" #include "Math/Vector3D.h" using ROOT::Math::XYZVector; #include "Math/Point3D.h" using ROOT::Math::XYZPoint; #include "Math/Transform3D.h" using ROOT::Math::Transform3D; #include "Math/RotationX.h" using ROOT::Math::RotationX; #include "Math/RotationY.h" using ROOT::Math::RotationY; #include "Math/RotationZ.h" using ROOT::Math::RotationZ; #include "Math/Rotation3D.h" using ROOT::Math::Rotation3D; #include "PndDrcPhoton.h" #include "PndDrcSurfPolyFlat.h" #include "PndDrcOptReflSilver.h" #include "PndDrcOptMatLithotecQ0.h" #include "PndDrcOptDevSys.h" #include "PndDrcOptVol.h" #include "PndDrcOptDevManager.h" #include "PndDrcOptLens.h" int main(int argc, char *argv[]) { // Example for construction of a lens. PndDrcOptLens lens(20,20,10);//,-100,+100); lens.SetOptMaterial(PndDrcOptMatLithotecQ0()); lens.SetName("lens"); lens.Print(); PndDrcOptDevSys opt_system; opt_system.AddDevice(lens); // The manager must be created as pointer. // It is created as singleton, that is only // one manager can exist per application. PndDrcOptDevManager* manager = new PndDrcOptDevManager(); manager->AddDeviceSystem(opt_system); // create a list of photons in bar fstream geo; geo.open("Geo.C",std::ios::out); geo<<"{"< GetVersionInt())<GetVersionInt() < 51600) { geo<<" TView *view = new TView(1);"<SetRange(-100,-100,-100,100,100,100);"<SetView(180,45,90,i);"<Print(geo); geo<<"}"<