Geant4  10.03.p02
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DicomBeamBlock.cc
Go to the documentation of this file.
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 #include "DicomBeamBlock.hh"
27 #include "dcmtk/dcmrt/seq/drtcos.h"
28 #include "G4UIcommand.hh"
29 
30 // DOC at https://www.dabsoft.ch/dicom/3/C.8.8.14/
31 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
32 DicomBeamBlock::DicomBeamBlock(DRTBlockSequenceInRTBeamsModule::Item bblItem)
33 {
34  OFString fstr;
35  Sint32 fint;
36  Float64 ffloat;
37  OFVector<Float64> fvfloat;
38  OFCondition cond;
39  G4cout << " DicomBeamBlock::DicomBeamBlock " << G4endl;
40 
41  bblItem.getBlockName(fstr);
42  bblItem.getBlockType(fstr);
43  bblItem.getBlockNumber(fint);
44  theBlockNumber = fint;
45  G4cout << " Number " << fint << G4endl;
46  bblItem.getBlockTrayID(fstr);
47  bblItem.getMaterialID(fstr);
48  bblItem.getBlockNumberOfPoints(fint);
49  bblItem.getBlockData(fvfloat);
50 
51  bblItem.getSourceToBlockTrayDistance(ffloat);
52  theSourceToBlockTrayDistance = ffloat;
53 
54  bblItem.getBlockMountingPosition(fstr);
55  theBlockMountingPosition = fstr;
56 
57  bblItem.getBlockDivergence(fstr);
58  bblItem.getBlockThickness(ffloat);
59  bblItem.getBlockTransmission(ffloat);
60 }
61 
62 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
63 void DicomBeamBlock::Print( std::ostream& )
64 {
65 
66 }
67 
68 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
69 void DicomBeamBlock::DumpToFile( std::ofstream& fout )
70 {
71  std::string name = ":P BLOCK_" + G4UIcommand::ConvertToString(theBlockNumber) + "_";
72 
73  fout << ":PS BLOCK_POS " << theBlockMountingPosition << G4endl;
74 
75  fout << name << "SourceToBlockTrayDistance " << theSourceToBlockTrayDistance << G4endl;
76 
77 }
const XML_Char * name
Definition: expat.h:151
static G4String ConvertToString(G4bool boolVal)
Definition: G4UIcommand.cc:372
void DumpToFile(std::ofstream &out)
G4GLOB_DLL std::ostream G4cout
void Print(std::ostream &out)
DicomBeamBlock(DRTBlockSequenceInRTBeamsModule::Item bcompItem)
#define G4endl
Definition: G4ios.hh:61