source: trunk/examples/advanced/human_phantom/src/G4MIRDTestes.cc @ 812

Last change on this file since 812 was 807, checked in by garnier, 16 years ago

update

File size: 3.5 KB
Line 
1//
2// ********************************************************************
3// * License and Disclaimer                                           *
4// *                                                                  *
5// * The  Geant4 software  is  copyright of the Copyright Holders  of *
6// * the Geant4 Collaboration.  It is provided  under  the terms  and *
7// * conditions of the Geant4 Software License,  included in the file *
8// * LICENSE and available at  http://cern.ch/geant4/license .  These *
9// * include a list of copyright holders.                             *
10// *                                                                  *
11// * Neither the authors of this software system, nor their employing *
12// * institutes,nor the agencies providing financial support for this *
13// * work  make  any representation or  warranty, express or implied, *
14// * regarding  this  software system or assume any liability for its *
15// * use.  Please see the license in the file  LICENSE  and URL above *
16// * for the full disclaimer and the limitation of liability.         *
17// *                                                                  *
18// * This  code  implementation is the result of  the  scientific and *
19// * technical work of the GEANT4 collaboration.                      *
20// * By using,  copying,  modifying or  distributing the software (or *
21// * any work based  on the software)  you  agree  to acknowledge its *
22// * use  in  resulting  scientific  publications,  and indicate your *
23// * acceptance of all terms of the Geant4 Software license.          *
24// ********************************************************************
25//
26// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy
27//
28// Based on code developed by the undergraduate student G. Guerrieri
29// Note: this is a preliminary beta-version of the code; an improved
30// version will be distributed in the next Geant4 public release, compliant
31// with the design in a forthcoming publication, and subject to a
32// design and code review.
33//
34#include "G4MIRDTestes.hh"
35
36#include "G4Processor/GDMLProcessor.h"
37#include "globals.hh"
38#include "G4SDManager.hh"
39#include "G4VisAttributes.hh"
40
41G4MIRDTestes::G4MIRDTestes()
42{
43}
44
45G4MIRDTestes::~G4MIRDTestes()
46{
47  sxp.Finalize();
48}
49
50G4VPhysicalVolume* G4MIRDTestes::ConstructTestes(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity)
51{
52  // Initialize GDML Processor
53  sxp.Initialize();
54  config.SetURI( "gdmlData/"+sex+"/MIRDTestes.gdml" );
55  config.SetSetupName( "Default" );
56  sxp.Configure( &config );
57
58  // Run GDML Processor
59  sxp.Run();
60 
61
62  G4LogicalVolume* logicTestes = (G4LogicalVolume *)GDMLProcessor::GetInstance()->GetLogicalVolume("TestesVolume");
63
64  G4ThreeVector position = (G4ThreeVector)*GDMLProcessor::GetInstance()->GetPosition("TestesPos");
65  G4RotationMatrix* rm = (G4RotationMatrix*)GDMLProcessor::GetInstance()->GetRotation("TestesRot");
66 
67  // Define rotation and position here!
68  G4VPhysicalVolume* physTestes = new G4PVPlacement(rm,position,
69                               "physicalTestes",
70                               logicTestes,
71                               mother,
72                               false,
73                               0);
74
75  // Sensitive Body Part
76  if (sensitivity==true)
77  { 
78    G4SDManager* SDman = G4SDManager::GetSDMpointer();
79    logicTestes->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") );
80  }
81
82  // Visualization Attributes
83  G4VisAttributes* TestesVisAtt = new G4VisAttributes(G4Colour(1.0,1.0,0.0));
84  TestesVisAtt->SetForceSolid(true);
85  logicTestes->SetVisAttributes(TestesVisAtt);
86
87  G4cout << "Testes created !!!!!!" << G4endl;
88 
89  return physTestes;
90}
Note: See TracBrowser for help on using the repository browser.