Import Geant4 6.2.0 source tree
This commit is contained in:
@@ -0,0 +1,96 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: MedLinacAnalysisManager.hh,v 1.3 2004/05/14 18:25:39 mpiergen Exp $
|
||||
//
|
||||
//
|
||||
// Code developed by: M. Piergentili
|
||||
//
|
||||
// the class Analysis creates and managed histograms
|
||||
//
|
||||
#ifdef G4ANALYSIS_USE
|
||||
#ifndef G4PROCESSTESTANALYSIS_HH
|
||||
#define G4PROCESSTESTANALYSIS_HH
|
||||
|
||||
#include "globals.hh"
|
||||
#include <vector>
|
||||
#include "G4ThreeVector.hh"
|
||||
#include "AIDA/IHistogram1D.h"
|
||||
#include "AIDA/IHistogram2D.h"
|
||||
#include "AIDA/IAnalysisFactory.h"
|
||||
|
||||
namespace AIDA{
|
||||
class ITree;
|
||||
class IHistogramFactory;
|
||||
class IAnalysisFactory;
|
||||
class ITreeFactory;
|
||||
};
|
||||
|
||||
class MedLinacAnalysisManager
|
||||
{
|
||||
private:
|
||||
MedLinacAnalysisManager();
|
||||
|
||||
public:
|
||||
|
||||
~MedLinacAnalysisManager();
|
||||
static MedLinacAnalysisManager* getInstance();
|
||||
void book();
|
||||
void FillHistogram1WithEnergy(G4double,G4double,G4float);
|
||||
void FillHistogram3WithEnergy(G4double,G4double,G4float);
|
||||
void FillHistogram4WithEnergy(G4double,G4float);
|
||||
void FillHistogram5WithEnergy(G4double,G4float);
|
||||
void FillHistogram6WithEnergy(G4double,G4float);
|
||||
void FillHistogram7WithEnergy(G4double,G4float);
|
||||
void FillHistogram8WithEnergy(G4double,G4float);
|
||||
void PrimaryParticleEnergySpectrum(G4double);
|
||||
void finish();
|
||||
|
||||
private:
|
||||
|
||||
G4double xx,zz,yy;
|
||||
G4float en;
|
||||
G4double x,y,z;
|
||||
static MedLinacAnalysisManager* instance;
|
||||
|
||||
private:
|
||||
|
||||
AIDA::IAnalysisFactory* aFact;
|
||||
AIDA::ITree* theTree;
|
||||
AIDA::IHistogramFactory *histFact;
|
||||
AIDA::ITreeFactory *treeFact;
|
||||
AIDA::IHistogram2D *h1;
|
||||
AIDA::IHistogram1D *h2;
|
||||
AIDA::IHistogram2D *h3;
|
||||
AIDA::IHistogram1D *h4;
|
||||
AIDA::IHistogram1D *h5;
|
||||
AIDA::IHistogram1D *h6;
|
||||
AIDA::IHistogram1D *h7;
|
||||
AIDA::IHistogram1D *h8;
|
||||
};
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: MedLinacDecorator.hh,v 1.1 2004/05/14 18:25:39 mpiergen Exp $
|
||||
//
|
||||
//
|
||||
// Code developed by: M. Piergentili
|
||||
|
||||
#ifndef MedLinacDecorator_h
|
||||
#define MedLinacDecorator_h 1
|
||||
|
||||
#include "MedLinacVGeometryComponent.hh"
|
||||
|
||||
class G4VPhysicalVolume;
|
||||
class MedLinacVGeometryComponent;
|
||||
|
||||
class MedLinacDecorator: public MedLinacVGeometryComponent
|
||||
{
|
||||
public:
|
||||
MedLinacDecorator(MedLinacVGeometryComponent*);
|
||||
virtual ~MedLinacDecorator();
|
||||
|
||||
virtual void ConstructComponent(G4VPhysicalVolume*, G4VPhysicalVolume*)=0;
|
||||
virtual void DestroyComponent()=0;
|
||||
|
||||
private:
|
||||
MedLinacVGeometryComponent* component;
|
||||
};
|
||||
#endif
|
||||
@@ -0,0 +1,151 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: MedLinacDetectorConstruction.hh,v 1.3 2004/05/14 18:25:39 mpiergen Exp $
|
||||
//
|
||||
//
|
||||
// Code developed by: M. Piergentili
|
||||
//
|
||||
#ifndef MedLinacDetectorConstruction_H
|
||||
#define MedLinacDetectorConstruction_H 1
|
||||
#include "MedLinacDetectorMessenger.hh"
|
||||
|
||||
#include "G4VUserDetectorConstruction.hh"
|
||||
#include "globals.hh"
|
||||
#include "G4VisAttributes.hh"
|
||||
|
||||
class G4LogicalVolume;
|
||||
class G4VPhysicalVolume;
|
||||
class G4Material;
|
||||
class G4VPhysicalVolume;
|
||||
class MedLinacDetectorMessenger;
|
||||
class MedLinacVGeometryComponent;
|
||||
class MedLinacPhantomSD;
|
||||
class MedLinacPhantomROGeometry;
|
||||
class MedLinacVoxelParameterisation;
|
||||
class MedLinacDecorator;
|
||||
|
||||
//#include "PhysicalConstants.hh"
|
||||
|
||||
class MedLinacDetectorConstruction : public G4VUserDetectorConstruction
|
||||
{
|
||||
public:
|
||||
MedLinacDetectorConstruction();
|
||||
~MedLinacDetectorConstruction();
|
||||
|
||||
public:
|
||||
|
||||
void SetJawX1Pos_x (G4double);
|
||||
void SetJawX2Pos_x (G4double);
|
||||
void SetJawY1Pos_y (G4double);
|
||||
void SetJawY2Pos_y (G4double);
|
||||
|
||||
G4VPhysicalVolume* Construct();
|
||||
|
||||
void UpdateGeometry();
|
||||
void ConstructVolume();
|
||||
void ConstructSensitiveDetector();
|
||||
//void SetPhantomMaterial(G4String);
|
||||
|
||||
const G4int GetNumVoxelX() {return numberOfVoxelsAlongX;}
|
||||
const G4int GetNumVoxelY() {return numberOfVoxelsAlongY;}
|
||||
const G4int GetNumVoxelZ() {return numberOfVoxelsAlongZ;}
|
||||
//const G4double GetDimX() {return PhantomDimensionX;}
|
||||
//const G4double GetDimy() {return PhantomDimensionY;}
|
||||
//const G4double GetBoxDim_Z() {return PhantomDimensionZ;}
|
||||
const G4double VoxelWidth_X(){return phantomDim_x/numberOfVoxelsAlongX;}
|
||||
const G4double VoxelWidth_Y(){return phantomDim_y/numberOfVoxelsAlongY;}
|
||||
const G4double VoxelWidth_Z(){return phantomDim_z/numberOfVoxelsAlongZ;}
|
||||
void ComputeDimVoxel() {dimVoxel = phantomDim_x/numberOfVoxelsAlongX;}
|
||||
|
||||
static MedLinacDetectorConstruction* GetInstance(G4String);
|
||||
|
||||
|
||||
public:
|
||||
|
||||
void PrintParameters();
|
||||
|
||||
G4double GetJawX1Pos_x() {return fieldX1;};
|
||||
G4double GetJawX2Pos_x() {return fieldX2;};
|
||||
G4double GetJawY1Pos_y() {return fieldY1;};
|
||||
G4double GetJawY2Pos_y() {return fieldY2;};
|
||||
|
||||
private:
|
||||
|
||||
G4double fieldX1;
|
||||
G4double fieldX2;
|
||||
G4double fieldY1;
|
||||
G4double fieldY2;
|
||||
|
||||
G4VPhysicalVolume* ConstructGeom();
|
||||
MedLinacVGeometryComponent* pHead;
|
||||
MedLinacDetectorMessenger* detectorMessenger;
|
||||
MedLinacDecorator* decorator;
|
||||
//MedLinacDecorator* decorator1;
|
||||
//MedLinacDecorator* decorator2;
|
||||
MedLinacDetectorConstruction(G4String);
|
||||
|
||||
static MedLinacDetectorConstruction* instance;
|
||||
|
||||
MedLinacPhantomSD* phantomSD;//pointer to sensitive detector
|
||||
MedLinacPhantomROGeometry* phantomROGeometry;//pointer to ROGeometry
|
||||
|
||||
G4double phantomDim_x; //Phantom XDimension
|
||||
G4double phantomDim_y; //Phantom YDimension
|
||||
G4double phantomDim_z; //Phantom ZDimension
|
||||
|
||||
|
||||
G4int numberOfVoxelsAlongX; //Number of voxels along x axis
|
||||
G4int numberOfVoxelsAlongY; //Number of voxels along y axis
|
||||
G4int numberOfVoxelsAlongZ; //Number of voxels along z axis
|
||||
G4String sensitiveDetectorName;
|
||||
G4double dimVoxel;
|
||||
// Logical volumes
|
||||
//
|
||||
G4LogicalVolume* experimentalHall_log;
|
||||
G4LogicalVolume* vacuumBlock_log;
|
||||
G4LogicalVolume* JawY1_log;
|
||||
G4LogicalVolume* JawY2_log;
|
||||
G4LogicalVolume* JawX1_log;
|
||||
G4LogicalVolume* JawX2_log;
|
||||
G4LogicalVolume* Phantom_log;
|
||||
|
||||
// Physical volumes
|
||||
//
|
||||
G4VPhysicalVolume* experimentalHall_phys;
|
||||
G4VPhysicalVolume* vacuumBlock_phys;
|
||||
G4VPhysicalVolume* JawY1_phys;
|
||||
G4VPhysicalVolume* JawY2_phys;
|
||||
G4VPhysicalVolume* JawX1_phys;
|
||||
G4VPhysicalVolume* JawX2_phys;
|
||||
G4VPhysicalVolume* Phantom_phys;
|
||||
//Vis
|
||||
//
|
||||
G4VisAttributes* simpleH2OVisAtt;
|
||||
G4VisAttributes* simpleLeadSVisAtt;
|
||||
G4VisAttributes* simpleWorldVisAtt;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: MedLinacDetectorMessenger.hh,v 1.2 2004/04/02 17:48:41 mpiergen Exp $
|
||||
//
|
||||
//
|
||||
// Code developed by: M. Piergentili
|
||||
|
||||
#ifndef MedLinacDetectorMessenger_h
|
||||
#define MedLinacDetectorMessenger_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4UImessenger.hh"
|
||||
|
||||
class MedLinacDetectorConstruction;
|
||||
class G4UIdirectory;
|
||||
class G4UIcmdWithAString;
|
||||
class G4UIcmdWithAnInteger;
|
||||
class G4UIcmdWithADoubleAndUnit;
|
||||
class G4UIcmdWithoutParameter;
|
||||
|
||||
//****************************************************************************
|
||||
|
||||
class MedLinacDetectorMessenger: public G4UImessenger
|
||||
{
|
||||
public:
|
||||
MedLinacDetectorMessenger(MedLinacDetectorConstruction* );
|
||||
~MedLinacDetectorMessenger();
|
||||
|
||||
void SetNewValue(G4UIcommand*, G4String);
|
||||
|
||||
private:
|
||||
MedLinacDetectorConstruction* MedLinacDetector;
|
||||
|
||||
G4UIdirectory* MedLinacDir;
|
||||
G4UIdirectory* X1Dir;
|
||||
G4UIdirectory* X2Dir;
|
||||
G4UIdirectory* Y1Dir;
|
||||
G4UIdirectory* Y2Dir;
|
||||
G4UIcmdWithADoubleAndUnit* JawX1PosCmd;
|
||||
G4UIcmdWithADoubleAndUnit* JawX2PosCmd;
|
||||
G4UIcmdWithADoubleAndUnit* JawY1PosCmd;
|
||||
G4UIcmdWithADoubleAndUnit* JawY2PosCmd;
|
||||
G4UIcmdWithoutParameter* UpdateCmd;
|
||||
};
|
||||
|
||||
//****************************************************************************
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
|
||||
// Dummy sensitive used only to flag sensitivity in cells of RO geometry.
|
||||
|
||||
#ifndef MedLinacDummySD_h
|
||||
#define MedLinacDummySD_h 1
|
||||
|
||||
#include "G4VSensitiveDetector.hh"
|
||||
class G4Step;
|
||||
|
||||
class MedLinacDummySD : public G4VSensitiveDetector
|
||||
{
|
||||
public:
|
||||
MedLinacDummySD();
|
||||
~MedLinacDummySD() {};
|
||||
|
||||
void Initialize(G4HCofThisEvent* ) {};
|
||||
G4bool ProcessHits(G4Step* ,G4TouchableHistory*) {return false;}
|
||||
void EndOfEvent(G4HCofThisEvent*) {};
|
||||
void clear() {};
|
||||
void DrawAll() {};
|
||||
void PrintAll() {};
|
||||
};
|
||||
|
||||
MedLinacDummySD::MedLinacDummySD() : G4VSensitiveDetector("dummySD")
|
||||
{}
|
||||
#endif
|
||||
@@ -0,0 +1,59 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: MedLinacEventAction.hh,v 1.3 2004/05/14 18:25:39 mpiergen Exp $
|
||||
//
|
||||
//
|
||||
// Code developed by: M. Piergentili
|
||||
//
|
||||
|
||||
#ifndef MedLinacEventAction_h
|
||||
#define MedLinacEventAction_h 1
|
||||
|
||||
#include "G4UserEventAction.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
//class G4Event;
|
||||
//class MedLinacDetectorConstruction;
|
||||
//class MedLinacAnalysisManager;
|
||||
|
||||
//*********************************************************************
|
||||
|
||||
class MedLinacEventAction : public G4UserEventAction
|
||||
{
|
||||
public:
|
||||
MedLinacEventAction();
|
||||
~MedLinacEventAction();
|
||||
|
||||
public:
|
||||
void BeginOfEventAction(const G4Event*);
|
||||
void EndOfEventAction(const G4Event*);
|
||||
|
||||
private:
|
||||
G4String drawFlag; //Visualisation flag
|
||||
};
|
||||
|
||||
//*********************************************************************
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -0,0 +1,84 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: MedLinacHead.hh,v 1.1 2004/05/14 18:25:39 mpiergen Exp $
|
||||
//
|
||||
// Code developed by: M. Piergentili
|
||||
//
|
||||
//
|
||||
#ifndef MedLinacHead_h
|
||||
#define MedLinacHead_h 1
|
||||
|
||||
class MedLinacVGeometryComponent;
|
||||
class G4VPhysicalVolume;
|
||||
class G4LogicalVolume;
|
||||
class G4Region;
|
||||
class G4Material;
|
||||
class G4VisAttributes;
|
||||
class MedLinacHead: public MedLinacVGeometryComponent
|
||||
{
|
||||
public:
|
||||
MedLinacHead();
|
||||
~MedLinacHead();
|
||||
void ConstructComponent(G4VPhysicalVolume*,G4VPhysicalVolume*);
|
||||
void DestroyComponent();
|
||||
|
||||
private:
|
||||
G4LogicalVolume* windowUp_log;
|
||||
G4LogicalVolume* UpperCollimator_log;
|
||||
G4LogicalVolume* collim_log;
|
||||
G4LogicalVolume* tracker_log;
|
||||
G4LogicalVolume* CylMinusCone_log;
|
||||
G4LogicalVolume* windowLow_log;
|
||||
G4LogicalVolume* Window_log;
|
||||
G4LogicalVolume* SignalPlate_log;
|
||||
G4LogicalVolume* Mirror_log;
|
||||
G4LogicalVolume* reticle_log;
|
||||
|
||||
G4VPhysicalVolume* windowUp_phys;
|
||||
G4VPhysicalVolume* UpperCollimator_phys;
|
||||
G4VPhysicalVolume* CylMinusCone_phys;
|
||||
G4VPhysicalVolume* windowLow_phys;
|
||||
G4VPhysicalVolume* Window1_phys;
|
||||
G4VPhysicalVolume* SignalPlate1_phys;
|
||||
G4VPhysicalVolume* SignalPlate2_phys;
|
||||
G4VPhysicalVolume* Window2_phys;
|
||||
G4VPhysicalVolume* SignalPlate3_phys;
|
||||
G4VPhysicalVolume* SignalPlate4_phys;
|
||||
G4VPhysicalVolume* Window3_phys;
|
||||
G4VPhysicalVolume* Mirror_phys;
|
||||
G4VPhysicalVolume* reticle_phys;
|
||||
|
||||
G4Region* aLowerCollRegion;
|
||||
G4Region* aUpperCollRegion;
|
||||
|
||||
|
||||
G4VisAttributes* simpleLeadWVisAtt;
|
||||
G4VisAttributes* simpleLeadSVisAtt;
|
||||
G4VisAttributes* simpleAlVisAtt;
|
||||
G4VisAttributes* simpleCopperSVisAtt;
|
||||
G4VisAttributes* simpleMylarVisAtt;
|
||||
G4VisAttributes* simpleKaptonVisAtt;
|
||||
G4VisAttributes* simpleWorldVisAtt;
|
||||
};
|
||||
#endif
|
||||
@@ -0,0 +1,123 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: MedLinacPhantomHit.hh,v 1.2 2004/04/02 17:48:41 mpiergen Exp $
|
||||
//
|
||||
//
|
||||
// Code developed by: M. Piergentili
|
||||
// It manages the hits and the enrgy deposit in the phantom associated with
|
||||
// each hit ...
|
||||
|
||||
#ifndef MedLinacPhantomHit_h
|
||||
#define MedLinacPhantomHit_h 1
|
||||
|
||||
#include "G4VHit.hh"
|
||||
#include "G4THitsCollection.hh"
|
||||
#include "G4Allocator.hh"
|
||||
#include "G4ThreeVector.hh"
|
||||
#include "G4LogicalVolume.hh"
|
||||
#include "G4Transform3D.hh"
|
||||
#include "G4RotationMatrix.hh"
|
||||
|
||||
class MedLinacPhantomHit : public G4VHit
|
||||
{
|
||||
public:
|
||||
MedLinacPhantomHit(G4LogicalVolume* ,G4int ,G4int ,G4int );
|
||||
~MedLinacPhantomHit();
|
||||
MedLinacPhantomHit(const MedLinacPhantomHit &right);
|
||||
const MedLinacPhantomHit& operator = (const MedLinacPhantomHit &right);
|
||||
int operator == (const MedLinacPhantomHit &right) const;
|
||||
|
||||
inline void *operator new(size_t);
|
||||
inline void operator delete(void *aHit);
|
||||
|
||||
void Draw();
|
||||
void Print();
|
||||
|
||||
private:
|
||||
const G4LogicalVolume* logicalVolume;// Logical volume where the hit happened
|
||||
G4int xHitPosition; // Hit x coordinate
|
||||
G4int zHitPosition; // Hit z coordinate
|
||||
G4int yHitPosition; // Hit y coordinate
|
||||
G4ThreeVector hitPosition; //position of the hit
|
||||
G4RotationMatrix rotation; // rotation of the logical volume
|
||||
G4double energyDeposit; // energy deposit associated with the hit
|
||||
|
||||
public:
|
||||
//...
|
||||
// Set Hit position
|
||||
inline void SetCellID(G4int XID,G4int YID,G4int ZID)
|
||||
{xHitPosition = XID; zHitPosition = ZID; yHitPosition = YID; }
|
||||
|
||||
inline G4int GetXID() // Get hit x coordinate
|
||||
{return xHitPosition;}
|
||||
|
||||
inline G4int GetZID() // Get hit z coordinate
|
||||
{return zHitPosition;}
|
||||
|
||||
inline G4int GetYID() // Get hit y coordinate
|
||||
{return yHitPosition;}
|
||||
|
||||
inline void SetEdep(G4double edep) //Set hit energy deposit
|
||||
{energyDeposit = edep;}
|
||||
|
||||
inline void AddEdep(G4double edep) // Add energy deposit
|
||||
{energyDeposit += edep;}
|
||||
|
||||
inline G4double GetEdep() // Get energy deposit
|
||||
{return energyDeposit;}
|
||||
|
||||
inline void SetPos(G4ThreeVector xyz) // Set hit position
|
||||
{hitPosition = xyz;}
|
||||
|
||||
inline G4ThreeVector GetPos() // Get hit position
|
||||
{return hitPosition;}
|
||||
|
||||
inline void SetRot(G4RotationMatrix rmat) //set rotation
|
||||
{rotation = rmat;}
|
||||
|
||||
inline G4RotationMatrix GetRot() //get rotation
|
||||
{return rotation;}
|
||||
|
||||
//...
|
||||
// It returns the logical volume where the hit happened
|
||||
inline const G4LogicalVolume * GetLogicalVolume()
|
||||
{return logicalVolume;}
|
||||
};
|
||||
|
||||
typedef G4THitsCollection<MedLinacPhantomHit> MedLinacPhantomHitsCollection;
|
||||
extern G4Allocator<MedLinacPhantomHit> MedLinacPhantomHitAllocator;
|
||||
|
||||
inline void* MedLinacPhantomHit::operator new(size_t)
|
||||
{
|
||||
void *aHit;
|
||||
aHit = (void *) MedLinacPhantomHitAllocator.MallocSingle();
|
||||
return aHit;
|
||||
}
|
||||
|
||||
inline void MedLinacPhantomHit::operator delete(void *aHit)
|
||||
{
|
||||
MedLinacPhantomHitAllocator.FreeSingle((MedLinacPhantomHit*) aHit);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: MedLinacPhantomROGeometry.hh,v 1.2 2004/04/02 17:48:41 mpiergen Exp $
|
||||
//
|
||||
//
|
||||
// Code developed by: M. Piergentili
|
||||
//
|
||||
//The phantom is devided in voxels. the dimension of the voxel is 1mm
|
||||
//
|
||||
#ifndef MedLinacPhantomROGeometry_h
|
||||
#define MedLinacPhantomROGeometry_h
|
||||
|
||||
#include "G4VReadOutGeometry.hh"
|
||||
|
||||
class MedLinacPhantomROGeometry : public G4VReadOutGeometry
|
||||
{
|
||||
public:
|
||||
MedLinacPhantomROGeometry(G4String aString,
|
||||
G4double phantomDim_x,
|
||||
G4double phantomDim_y,
|
||||
G4double phantomDim_z,
|
||||
G4int numberOfVoxelsX,
|
||||
G4int numberOfVoxelsY,
|
||||
G4int numberOfVoxelsZ);
|
||||
~MedLinacPhantomROGeometry();
|
||||
private:
|
||||
G4VPhysicalVolume* Build();
|
||||
|
||||
private:
|
||||
const G4double PhantomDimensionX;
|
||||
const G4double PhantomDimensionY;
|
||||
const G4double PhantomDimensionZ;
|
||||
const G4int NumberOfVoxelsAlongX;
|
||||
const G4int NumberOfVoxelsAlongY;
|
||||
const G4int NumberOfVoxelsAlongZ;
|
||||
G4VPhysicalVolume *ROPhantomYDivisionPhys;
|
||||
};
|
||||
#endif
|
||||
@@ -0,0 +1,54 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//// $Id: MedLinacPhantomSD.hh,v 1.4 2004/06/18 09:17:38 gunter Exp $
|
||||
//
|
||||
//
|
||||
// Code developed by: M. Piergentili
|
||||
//
|
||||
#ifndef MedLinacPhantomSD_h
|
||||
#define MedLinacPhantomSD_h 1
|
||||
|
||||
#include "G4VSensitiveDetector.hh"
|
||||
#include "MedLinacPhantomHit.hh"
|
||||
|
||||
class G4Step;
|
||||
class G4HCofThisEvent;
|
||||
class G4TouchableHistory;
|
||||
|
||||
class MedLinacPhantomSD : public G4VSensitiveDetector
|
||||
{
|
||||
public:
|
||||
MedLinacPhantomSD(G4String name);
|
||||
~MedLinacPhantomSD();
|
||||
|
||||
void Initialize(G4HCofThisEvent*);
|
||||
G4bool ProcessHits(G4Step*aStep,G4TouchableHistory*ROhist);
|
||||
void EndOfEvent(G4HCofThisEvent*HCE);
|
||||
void clear();
|
||||
void DrawAll();
|
||||
void PrintAll();
|
||||
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//// $Id: MedLinacPhysicsList.hh,v 1.4 2004/06/18 09:17:39 gunter Exp $
|
||||
//
|
||||
//
|
||||
// Code developed by: M. Piergentili
|
||||
|
||||
|
||||
|
||||
#ifndef MedLinacPhysicsList_h
|
||||
#define MedLinacPhysicsList_h 1
|
||||
|
||||
#include "G4VUserPhysicsList.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class G4ProductionCuts;
|
||||
class G4LowEnergyPhotoElectric;
|
||||
class G4LowEnergyIonisation;
|
||||
class G4LowEnergyBremsstrahlung;
|
||||
|
||||
class MedLinacPhysicsList: public G4VUserPhysicsList
|
||||
{
|
||||
public:
|
||||
MedLinacPhysicsList();
|
||||
~MedLinacPhysicsList();
|
||||
|
||||
protected:
|
||||
// Construct particle and physics process
|
||||
void ConstructParticle();
|
||||
void ConstructProcess();
|
||||
void SetCuts();
|
||||
|
||||
//private:
|
||||
|
||||
//G4double cutForGamma;
|
||||
//G4double cutForElectron;
|
||||
//G4double cutForPositron;
|
||||
|
||||
protected:
|
||||
// these methods Construct particles
|
||||
void ConstructBosons();
|
||||
void ConstructLeptons();
|
||||
|
||||
protected:
|
||||
// these methods Construct physics processes and register them
|
||||
//void ConstructGeneral();
|
||||
void ConstructEM();
|
||||
|
||||
// private:
|
||||
|
||||
G4LowEnergyIonisation* loweIon;
|
||||
G4LowEnergyPhotoElectric* lowePhot;
|
||||
G4LowEnergyBremsstrahlung* loweBrem;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: MedLinacPrimaryGeneratorAction.hh,v 1.2 2004/04/02 17:48:41 mpiergen Exp $
|
||||
//
|
||||
//
|
||||
// Code developed by: M. Piergentili
|
||||
|
||||
#ifndef MedLinacPrimaryGeneratorAction_h
|
||||
#define MedLinacPrimaryGeneratorAction_h 1
|
||||
|
||||
#include "G4VUserPrimaryGeneratorAction.hh"
|
||||
#include "globals.hh"
|
||||
#include <vector>
|
||||
|
||||
class G4ParticleGun;
|
||||
class G4Run;
|
||||
class G4Event;
|
||||
class MedLinacDetectorConstruction;
|
||||
class MedLinacPrimaryGeneratorMessenger;
|
||||
class MedLinacAnalysisManager;
|
||||
|
||||
class MedLinacPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
|
||||
{
|
||||
public:
|
||||
MedLinacPrimaryGeneratorAction();
|
||||
~MedLinacPrimaryGeneratorAction();
|
||||
|
||||
public:
|
||||
void GeneratePrimaries(G4Event* anEvent);
|
||||
void SetEnergy(G4double val){ pEnergy = val;}
|
||||
void SetSourceType(G4double val) { sigma = val;}
|
||||
private:
|
||||
G4ParticleGun* particleGun; //pointer a to G4 class
|
||||
MedLinacPrimaryGeneratorMessenger* gunMessenger;//messenger of this class
|
||||
G4double pEnergy;
|
||||
G4double sigma;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: MedLinacPrimaryGeneratorMessenger.hh,v 1.3 2004/06/18 09:17:40 gunter Exp $
|
||||
//
|
||||
//
|
||||
// Code developed by: M. Piergentili
|
||||
|
||||
#ifndef MedLinacPrimaryGeneratorMessenger_h
|
||||
#define MedLinacPrimaryGeneratorMessenger_h 1
|
||||
|
||||
#include "G4UImessenger.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class MedLinacPrimaryGeneratorAction;
|
||||
class G4UIdirectory;
|
||||
class G4UIcmdWithADoubleAndUnit;
|
||||
|
||||
//**********************************************************************
|
||||
|
||||
class MedLinacPrimaryGeneratorMessenger: public G4UImessenger
|
||||
{
|
||||
public:
|
||||
|
||||
MedLinacPrimaryGeneratorMessenger(MedLinacPrimaryGeneratorAction*);
|
||||
~MedLinacPrimaryGeneratorMessenger();
|
||||
|
||||
void SetNewValue(G4UIcommand*, G4String);
|
||||
|
||||
private:
|
||||
MedLinacPrimaryGeneratorAction* MedLinacAction;
|
||||
G4UIcmdWithADoubleAndUnit* EnergyCmd;
|
||||
G4UIcmdWithADoubleAndUnit* SourceTypeCmd;
|
||||
};
|
||||
|
||||
//**********************************************************************
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: MedLinacRunAction.hh,v 1.2 2004/04/02 17:48:41 mpiergen Exp $
|
||||
//
|
||||
//
|
||||
// Code developed by: M. Piergentili
|
||||
|
||||
#ifndef MedLinacRunAction_h
|
||||
#define MedLinacRunAction_h 1
|
||||
|
||||
#include "G4UserRunAction.hh"
|
||||
#include "G4RunManager.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
//********************************************************************
|
||||
|
||||
class G4Run;
|
||||
class MedLinacAnalysisManager;
|
||||
class MedLinacDetectorConstruction;
|
||||
|
||||
class MedLinacRunAction : public G4UserRunAction
|
||||
{
|
||||
public:
|
||||
MedLinacRunAction(G4String);
|
||||
~MedLinacRunAction();
|
||||
|
||||
public:
|
||||
void BeginOfRunAction(const G4Run* aRun);
|
||||
void EndOfRunAction(const G4Run* aRun);
|
||||
private:
|
||||
|
||||
G4String sensitiveDetectorName;
|
||||
MedLinacDetectorConstruction* detector;
|
||||
|
||||
};
|
||||
|
||||
//********************************************************************
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,110 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: MedLinacTargetAndFilterDecorator.hh,v 1.1 2004/05/14 18:25:39 mpiergen Exp $
|
||||
//
|
||||
// Code developed by: M. Piergentili
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
#ifndef MedLinacTargetAndFilterDecorator_h
|
||||
#define MedLinacTargetAndFilterDecorator_h 1
|
||||
|
||||
#include "MedLinacDecorator.hh"
|
||||
#include "MedLinacVGeometryComponent.hh"
|
||||
class G4VPhysicalVolume;
|
||||
class G4Box;
|
||||
class G4LogicalVolume;
|
||||
class G4Material;
|
||||
class G4VisAttributes;
|
||||
class MedLinacVGeometryComponent;
|
||||
class MedLinacDecorator;
|
||||
|
||||
class MedLinacTargetAndFilterDecorator: public MedLinacDecorator
|
||||
{
|
||||
public:
|
||||
MedLinacTargetAndFilterDecorator(MedLinacVGeometryComponent*);
|
||||
~MedLinacTargetAndFilterDecorator();
|
||||
void ConstructComponent(G4VPhysicalVolume*,G4VPhysicalVolume*);
|
||||
void DestroyComponent();
|
||||
|
||||
private:
|
||||
void ConstructTargetAndFilter(G4VPhysicalVolume*,G4VPhysicalVolume*);
|
||||
G4LogicalVolume* targetA_log;
|
||||
G4LogicalVolume* targetB_log;
|
||||
G4LogicalVolume* layer1_log;
|
||||
G4LogicalVolume* layer2_log;
|
||||
G4LogicalVolume* layer3_log;
|
||||
G4LogicalVolume* layer4_log;
|
||||
G4LogicalVolume* layer5_log;
|
||||
G4LogicalVolume* layer6_log;
|
||||
G4LogicalVolume* layer7_log;
|
||||
G4LogicalVolume* layer8_log;
|
||||
G4LogicalVolume* layer9_log;
|
||||
G4LogicalVolume* layer10_log;
|
||||
G4LogicalVolume* layer11_log;
|
||||
G4LogicalVolume* layer12_log;
|
||||
G4LogicalVolume* layer13_log;
|
||||
G4LogicalVolume* layer14_log;
|
||||
G4LogicalVolume* layer15_log;
|
||||
G4LogicalVolume* layer16_log;
|
||||
G4LogicalVolume* layer17_log;
|
||||
G4LogicalVolume* layer18_log;
|
||||
G4LogicalVolume* layer19_log;
|
||||
G4LogicalVolume* layer20A_log;
|
||||
G4LogicalVolume* cone20_log;
|
||||
G4LogicalVolume* layer20_log;
|
||||
G4LogicalVolume* layer21_log;
|
||||
|
||||
G4VPhysicalVolume* targetA_phys;
|
||||
G4VPhysicalVolume* targetB_phys;
|
||||
G4VPhysicalVolume* layer1_phys;
|
||||
G4VPhysicalVolume* layer2_phys;
|
||||
G4VPhysicalVolume* layer3_phys;
|
||||
G4VPhysicalVolume* layer4_phys;
|
||||
G4VPhysicalVolume* layer5_phys;
|
||||
G4VPhysicalVolume* layer6_phys;
|
||||
G4VPhysicalVolume* layer7_phys;
|
||||
G4VPhysicalVolume* layer8_phys;
|
||||
G4VPhysicalVolume* layer9_phys;
|
||||
G4VPhysicalVolume* layer10_phys;
|
||||
G4VPhysicalVolume* layer11_phys;
|
||||
G4VPhysicalVolume* layer12_phys;
|
||||
G4VPhysicalVolume* layer13_phys;
|
||||
G4VPhysicalVolume* layer14_phys;
|
||||
G4VPhysicalVolume* layer15_phys;
|
||||
G4VPhysicalVolume* layer16_phys;
|
||||
G4VPhysicalVolume* layer17_phys;
|
||||
G4VPhysicalVolume* layer18_phys;
|
||||
G4VPhysicalVolume* layer19_phys;
|
||||
G4VPhysicalVolume* layer20_phys;
|
||||
G4VPhysicalVolume* layer21_phys;
|
||||
|
||||
|
||||
G4VisAttributes* simpleLeadSVisAtt;
|
||||
G4VisAttributes* simpleAlSVisAtt;
|
||||
G4VisAttributes* simpleWorldVisAtt;
|
||||
//MedLinacVGeometryComponent* component;
|
||||
};
|
||||
#endif
|
||||
@@ -0,0 +1,48 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: MedLinacVGeometryComponent.hh,v 1.1 2004/05/14 18:25:39 mpiergen Exp $
|
||||
//
|
||||
// Code developed by: M. Piergentili
|
||||
//
|
||||
//
|
||||
|
||||
#ifndef MedLinacVGeometryComponent_h
|
||||
#define MedLinacVGeometryComponent_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
class G4LogicalVolume;
|
||||
class G4VPhysicalVolume;
|
||||
class G4Material;
|
||||
class G4VisAttributes;
|
||||
class MedLinacVGeometryComponent
|
||||
{
|
||||
public:
|
||||
MedLinacVGeometryComponent();
|
||||
virtual ~MedLinacVGeometryComponent();
|
||||
|
||||
virtual void ConstructComponent(G4VPhysicalVolume*,G4VPhysicalVolume*)=0;
|
||||
virtual void DestroyComponent()=0;
|
||||
};
|
||||
#endif
|
||||
@@ -0,0 +1,56 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: MedLinacVisManager.hh,v 1.2 2004/04/02 17:48:41 mpiergen Exp $
|
||||
//
|
||||
//
|
||||
// Code developed by: M. Piergentili
|
||||
|
||||
//*********************************************************************
|
||||
|
||||
#ifndef MedLinacVisManager_h
|
||||
#define MedLinacVisManager_h 1
|
||||
|
||||
#ifdef G4VIS_USE
|
||||
|
||||
#include "G4VisManager.hh"
|
||||
|
||||
//*********************************************************************
|
||||
|
||||
class MedLinacVisManager: public G4VisManager {
|
||||
|
||||
public:
|
||||
|
||||
MedLinacVisManager ();
|
||||
|
||||
private:
|
||||
|
||||
void RegisterGraphicsSystems ();
|
||||
|
||||
};
|
||||
|
||||
//*********************************************************************
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user