source: trunk/examples/advanced/medical_linac/include/ML2AcceleratorConstruction.hh @ 1282

Last change on this file since 1282 was 1230, checked in by garnier, 14 years ago

update to geant4.9.3

  • Property svn:executable set to *
File size: 3.3 KB
Line 
1//
2// ********************************************************************
3// * DISCLAIMER                                                       *
4// *                                                                  *
5// * The following disclaimer summarizes all the specific disclaimers *
6// * of contributors to this software. The specific disclaimers,which *
7// * govern, are listed with their locations in:                      *
8// *   http://cern.ch/geant4/license                                  *
9// *                                                                  *
10// * Neither the authors of this software system, nor their employing *
11// * institutes,nor the agencies providing financial support for this *
12// * work  make  any representation or  warranty, express or implied, *
13// * regarding  this  software system or assume any liability for its *
14// * use.                                                             *
15// *                                                                  *
16// * This  code  implementation is the  intellectual property  of the *
17// * GEANT4 collaboration.                                            *
18// * By copying,  distributing  or modifying the Program (or any work *
19// * based  on  the Program)  you indicate  your  acceptance of  this *
20// * statement, and all its terms.                                    *
21// ********************************************************************
22//
23// The code was written by :
24//      ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it
25//      *Barbara Caccia barbara.caccia@iss.it
26//      with the support of Pablo Cirrone (LNS, INFN Catania Italy)
27//
28// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy
29// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy
30//  Viale Regina Elena 299, 00161 Roma (Italy)
31//  tel (39) 06 49902246
32//  fax (39) 06 49387075
33//
34// more information:
35// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac
36//
37//*******************************************************//
38
39
40#ifndef CML2AcceleratorConstructionH
41#define CML2AcceleratorConstructionH
42
43#include "ML2SinputData.hh"
44#include "G4VPhysicalVolume.hh"
45#include "G4LogicalVolume.hh"
46#include "G4Box.hh"
47#include "ML2Acc1.hh"
48
49class CML2Acc1;
50class CML2AcceleratorConstructionMessenger;
51class CML2AcceleratorConstruction
52{
53public:
54        CML2AcceleratorConstruction(void);
55        ~CML2AcceleratorConstruction(void);
56        static CML2AcceleratorConstruction* GetInstance(void);
57        void Construct(G4VPhysicalVolume *PVWorld);
58        G4VPhysicalVolume *getPhysicalVolume(void){return this->PVAccWorld;};
59        inline void setAcceleratorName(G4String val){this->AcceleratorName=val;};
60        inline void setAcceleratorSpecficationsFileName(G4String val){this->AcceleratorSpecficationsFileName=val;};
61        inline void setAcceleratorRotationX(G4double val){this->rotationX=val;};
62        inline void setAcceleratorRotationY(G4double val){this->rotationY=val;};
63        inline void setAcceleratorRotationZ(G4double val){this->rotationZ=val;};
64private:
65        void design(void);
66        CML2AcceleratorConstructionMessenger *acceleratorConstructionMessenger;
67        static CML2AcceleratorConstruction * instance;
68        G4String AcceleratorName, AcceleratorSpecficationsFileName;
69
70        G4VPhysicalVolume *PVAccWorld;
71        G4RotationMatrix *rotation;
72        G4double rotationX, rotationY, rotationZ;
73        CML2Acc1 *accelerator1;
74};
75
76
77#endif
Note: See TracBrowser for help on using the repository browser.