Geant4  10.02.p02
CML2Acc1 Class Reference

#include <ML2Acc1.hh>

+ Collaboration diagram for CML2Acc1:

Public Member Functions

 CML2Acc1 (void)
 
 ~CML2Acc1 (void)
 
void Construct (G4VPhysicalVolume *PVWorld, G4double isoCentre)
 
void reset ()
 
void setJaw1X (G4double val)
 
void setJaw2X (G4double val)
 
void setJaw1Y (G4double val)
 
void setJaw2Y (G4double val)
 
void setIsoCentre (G4double val)
 
void setidEnergy (G4int val)
 
void setLeavesAx (G4double val)
 
void setLeavesBx (G4double val)
 
int getidEnergy ()
 
G4double getBeforeJaws_Z_PhaseSpacePosition ()
 
void writeInfo ()
 

Static Public Member Functions

static CML2Acc1GetInstance (void)
 

Private Member Functions

G4MaterialotherMaterials (const G4String materialName)
 
void SetJawAperture (G4int idJaw, G4ThreeVector &centre, G4ThreeVector halfSize, G4double aperture, G4RotationMatrix *cRotation)
 
bool target ()
 
bool primaryCollimator ()
 
bool BeWindow ()
 
bool flatteningFilter ()
 
bool ionizationChamber ()
 
bool mirror ()
 
bool Jaw1X ()
 
bool Jaw2X ()
 
bool Jaw1Y ()
 
bool Jaw2Y ()
 
bool MLC ()
 

Private Attributes

G4double jaw1XAperture
 
G4double jaw2XAperture
 
G4double jaw1YAperture
 
G4double jaw2YAperture
 
G4double isoCentre
 
std::vector< G4doubleleavesA
 
std::vector< G4doubleleavesB
 
G4int idEnergy
 
CML2Acc1Messengeracc1Messenger
 
G4VPhysicalVolumePVWorld
 
G4VPhysicalVolumetargetA_phys
 
G4VPhysicalVolumetargetB_phys
 
G4VPhysicalVolumeUpperCollimator_phys
 
G4VPhysicalVolumeCylMinusCone_phys
 
G4VPhysicalVolumeBeWTubePV
 
G4VPhysicalVolumeFFL1A_1PV
 
G4VPhysicalVolumeFFL2_1PV
 
G4VPhysicalVolumePCUtubeW1PV
 
G4VPhysicalVolumePCUtubeP1PV
 
G4VPhysicalVolumePCUtubeW2PV
 
G4VPhysicalVolumePCUtubeP2PV
 
G4VPhysicalVolumePCUtubeW3PV
 
G4VPhysicalVolumePCUtubeP3PV
 
G4VPhysicalVolumeMirrorTubePV
 
G4VPhysicalVolumephVol1X
 
G4VPhysicalVolumephVol2X
 
G4VPhysicalVolumephVol1Y
 
G4VPhysicalVolumephVol2Y
 
G4VPhysicalVolumeleafPhys
 

Static Private Attributes

static CML2Acc1instance = 0
 

Detailed Description

Definition at line 64 of file ML2Acc1.hh.

Constructor & Destructor Documentation

CML2Acc1::CML2Acc1 ( void  )

Definition at line 48 of file ML2Acc1.cc.

References acc1Messenger.

Referenced by GetInstance().

+ Here is the caller graph for this function:

CML2Acc1::~CML2Acc1 ( void  )

Definition at line 53 of file ML2Acc1.cc.

Member Function Documentation

bool CML2Acc1::BeWindow ( )
private

Definition at line 357 of file ML2Acc1.cc.

References G4Region::AddRootLogicalVolume(), BeWTubePV, cm, deg, G4NistManager::FindOrBuildMaterial(), G4NistManager::Instance(), mm, PVWorld, G4ProductionCuts::SetProductionCut(), G4Region::SetProductionCuts(), G4LogicalVolume::SetRegion(), G4LogicalVolume::SetVisAttributes(), G4VisAttributes::SetVisibility(), and G4Colour::Yellow().

Referenced by Construct().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void CML2Acc1::Construct ( G4VPhysicalVolume PVWorld,
G4double  isoCentre 
)

Definition at line 156 of file ML2Acc1.cc.

References BeWindow(), flatteningFilter(), ionizationChamber(), Jaw1X(), Jaw1Y(), Jaw2X(), Jaw2Y(), mirror(), MLC(), primaryCollimator(), PVWorld, setIsoCentre(), and target().

Referenced by CML2AcceleratorConstruction::Construct().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool CML2Acc1::flatteningFilter ( )
private

Definition at line 384 of file ML2Acc1.cc.

References G4Region::AddRootLogicalVolume(), cm, deg, FFL1A_1PV, FFL2_1PV, G4NistManager::FindOrBuildMaterial(), idEnergy, G4NistManager::Instance(), mm, PVWorld, G4Colour::Red(), G4ProductionCuts::SetProductionCut(), G4Region::SetProductionCuts(), G4LogicalVolume::SetRegion(), G4LogicalVolume::SetVisAttributes(), G4VisAttributes::SetVisibility(), and G4InuclParticleNames::z0.

Referenced by Construct().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double CML2Acc1::getBeforeJaws_Z_PhaseSpacePosition ( )
inline

Definition at line 81 of file ML2Acc1.hh.

Referenced by CML2AcceleratorConstruction::Construct().

+ Here is the caller graph for this function:

int CML2Acc1::getidEnergy ( )
inline

Definition at line 80 of file ML2Acc1.hh.

References idEnergy.

CML2Acc1 * CML2Acc1::GetInstance ( void  )
static

Definition at line 58 of file ML2Acc1.cc.

References CML2Acc1(), and instance.

Referenced by CML2AcceleratorConstruction::design().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool CML2Acc1::ionizationChamber ( )
private

Definition at line 435 of file ML2Acc1.cc.

References G4Region::AddRootLogicalVolume(), G4Colour::Blue(), cm, deg, G4NistManager::FindOrBuildMaterial(), G4NistManager::Instance(), mm, PCUtubeP1PV, PCUtubeP2PV, PCUtubeP3PV, PCUtubeW1PV, PCUtubeW2PV, PCUtubeW3PV, PVWorld, G4ProductionCuts::SetProductionCut(), G4Region::SetProductionCuts(), G4LogicalVolume::SetRegion(), G4LogicalVolume::SetVisAttributes(), G4VisAttributes::SetVisibility(), and G4Colour::Yellow().

Referenced by Construct().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool CML2Acc1::Jaw1X ( )
private

Definition at line 618 of file ML2Acc1.cc.

References G4Region::AddRootLogicalVolume(), G4Colour::Blue(), cm, jaw1XAperture, mm, name, otherMaterials(), phVol1X, PVWorld, SetJawAperture(), G4ProductionCuts::SetProductionCut(), G4Region::SetProductionCuts(), and G4VisAttributes::SetVisibility().

Referenced by Construct().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool CML2Acc1::Jaw1Y ( )
private

Definition at line 690 of file ML2Acc1.cc.

References G4Region::AddRootLogicalVolume(), cm, jaw1YAperture, mm, name, otherMaterials(), phVol1Y, PVWorld, G4Colour::Red(), SetJawAperture(), G4ProductionCuts::SetProductionCut(), G4Region::SetProductionCuts(), and G4VisAttributes::SetVisibility().

Referenced by Construct().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool CML2Acc1::Jaw2X ( )
private

Definition at line 654 of file ML2Acc1.cc.

References G4Region::AddRootLogicalVolume(), cm, G4Colour::Cyan(), jaw2XAperture, mm, name, otherMaterials(), phVol2X, PVWorld, SetJawAperture(), G4ProductionCuts::SetProductionCut(), G4Region::SetProductionCuts(), and G4VisAttributes::SetVisibility().

Referenced by Construct().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool CML2Acc1::Jaw2Y ( )
private

Definition at line 726 of file ML2Acc1.cc.

References G4Region::AddRootLogicalVolume(), cm, jaw2YAperture, G4Colour::Magenta(), mm, name, otherMaterials(), phVol2Y, PVWorld, SetJawAperture(), G4ProductionCuts::SetProductionCut(), G4Region::SetProductionCuts(), and G4VisAttributes::SetVisibility().

Referenced by Construct().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool CML2Acc1::mirror ( )
private

Definition at line 521 of file ML2Acc1.cc.

References G4Region::AddRootLogicalVolume(), cm, deg, G4NistManager::FindOrBuildMaterial(), G4Colour::Green(), G4NistManager::Instance(), MirrorTubePV, mm, PVWorld, G4ProductionCuts::SetProductionCut(), G4Region::SetProductionCuts(), G4LogicalVolume::SetRegion(), G4LogicalVolume::SetVisAttributes(), and G4VisAttributes::SetVisibility().

Referenced by Construct().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool CML2Acc1::MLC ( )
private

Definition at line 763 of file ML2Acc1.cc.

References G4Region::AddRootLogicalVolume(), cm, G4Colour::Cyan(), G4NistManager::FindOrBuildMaterial(), G4Colour::Green(), G4NistManager::Instance(), leafPhys, leavesA, leavesB, mm, PVWorld, G4ProductionCuts::SetProductionCut(), G4Region::SetProductionCuts(), G4LogicalVolume::SetRegion(), G4LogicalVolume::SetVisAttributes(), and G4VisAttributes::SetVisibility().

Referenced by Construct().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4Material * CML2Acc1::otherMaterials ( const G4String  materialName)
private

Definition at line 72 of file ML2Acc1.cc.

References A(), AddElement(), cm3, elC, g, mole, and name.

Referenced by Jaw1X(), Jaw1Y(), Jaw2X(), and Jaw2Y().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool CML2Acc1::primaryCollimator ( )
private

Definition at line 251 of file ML2Acc1.cc.

References G4Region::AddRootLogicalVolume(), cm, CylMinusCone_phys, deg, G4NistManager::FindOrBuildMaterial(), G4NistManager::Instance(), PVWorld, G4ProductionCuts::SetProductionCut(), G4Region::SetProductionCuts(), G4LogicalVolume::SetRegion(), G4LogicalVolume::SetVisAttributes(), G4VisAttributes::SetVisibility(), and UpperCollimator_phys.

Referenced by Construct().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void CML2Acc1::reset ( )

Definition at line 172 of file ML2Acc1.cc.

References leavesA, and leavesB.

Referenced by CML2AcceleratorConstruction::resetAccelerator().

+ Here is the caller graph for this function:

void CML2Acc1::setidEnergy ( G4int  val)
inline

Definition at line 77 of file ML2Acc1.hh.

References idEnergy.

Referenced by CML2Acc1Messenger::CML2Acc1Messenger(), and CML2Acc1Messenger::SetNewValue().

+ Here is the caller graph for this function:

void CML2Acc1::setIsoCentre ( G4double  val)
inline

Definition at line 76 of file ML2Acc1.hh.

Referenced by Construct().

+ Here is the caller graph for this function:

void CML2Acc1::setJaw1X ( G4double  val)
inline

Definition at line 72 of file ML2Acc1.hh.

References jaw1XAperture.

Referenced by CML2Acc1Messenger::CML2Acc1Messenger(), and CML2Acc1Messenger::SetNewValue().

+ Here is the caller graph for this function:

void CML2Acc1::setJaw1Y ( G4double  val)
inline

Definition at line 74 of file ML2Acc1.hh.

References jaw1YAperture.

Referenced by CML2Acc1Messenger::CML2Acc1Messenger(), and CML2Acc1Messenger::SetNewValue().

+ Here is the caller graph for this function:

void CML2Acc1::setJaw2X ( G4double  val)
inline

Definition at line 73 of file ML2Acc1.hh.

References jaw2XAperture.

Referenced by CML2Acc1Messenger::CML2Acc1Messenger(), and CML2Acc1Messenger::SetNewValue().

+ Here is the caller graph for this function:

void CML2Acc1::setJaw2Y ( G4double  val)
inline

Definition at line 75 of file ML2Acc1.hh.

References jaw2YAperture.

Referenced by CML2Acc1Messenger::CML2Acc1Messenger(), and CML2Acc1Messenger::SetNewValue().

+ Here is the caller graph for this function:

void CML2Acc1::SetJawAperture ( G4int  idJaw,
G4ThreeVector centre,
G4ThreeVector  halfSize,
G4double  aperture,
G4RotationMatrix cRotation 
)
private

Definition at line 549 of file ML2Acc1.cc.

References isoCentre, x, and z.

Referenced by Jaw1X(), Jaw1Y(), Jaw2X(), and Jaw2Y().

+ Here is the caller graph for this function:

void CML2Acc1::setLeavesAx ( G4double  val)
inline

Definition at line 78 of file ML2Acc1.hh.

References leavesA.

Referenced by CML2Acc1Messenger::CML2Acc1Messenger(), and CML2Acc1Messenger::SetNewValue().

+ Here is the caller graph for this function:

void CML2Acc1::setLeavesBx ( G4double  val)
inline

Definition at line 79 of file ML2Acc1.hh.

References leavesB.

Referenced by CML2Acc1Messenger::CML2Acc1Messenger(), and CML2Acc1Messenger::SetNewValue().

+ Here is the caller graph for this function:

bool CML2Acc1::target ( )
private

Definition at line 178 of file ML2Acc1.cc.

References G4Region::AddRootLogicalVolume(), cm, G4NistManager::FindOrBuildMaterial(), idEnergy, G4NistManager::Instance(), m, PVWorld, G4ProductionCuts::SetProductionCut(), G4Region::SetProductionCuts(), G4LogicalVolume::SetRegion(), G4LogicalVolume::SetVisAttributes(), G4VisAttributes::SetVisibility(), targetA_phys, and targetB_phys.

Referenced by Construct().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void CML2Acc1::writeInfo ( )

Definition at line 66 of file ML2Acc1.cc.

References G4endl, idEnergy, jaw1XAperture, jaw1YAperture, jaw2XAperture, jaw2YAperture, and mm.

Referenced by CML2AcceleratorConstruction::Construct().

+ Here is the caller graph for this function:

Member Data Documentation

CML2Acc1Messenger* CML2Acc1::acc1Messenger
private

Definition at line 87 of file ML2Acc1.hh.

Referenced by CML2Acc1().

G4VPhysicalVolume* CML2Acc1::BeWTubePV
private

Definition at line 109 of file ML2Acc1.hh.

Referenced by BeWindow().

G4VPhysicalVolume* CML2Acc1::CylMinusCone_phys
private

Definition at line 108 of file ML2Acc1.hh.

Referenced by primaryCollimator().

G4VPhysicalVolume* CML2Acc1::FFL1A_1PV
private

Definition at line 110 of file ML2Acc1.hh.

Referenced by flatteningFilter().

G4VPhysicalVolume* CML2Acc1::FFL2_1PV
private

Definition at line 111 of file ML2Acc1.hh.

Referenced by flatteningFilter().

G4int CML2Acc1::idEnergy
private

Definition at line 86 of file ML2Acc1.hh.

Referenced by flatteningFilter(), getidEnergy(), setidEnergy(), target(), and writeInfo().

CML2Acc1 * CML2Acc1::instance = 0
staticprivate

Definition at line 88 of file ML2Acc1.hh.

Referenced by GetInstance().

G4double CML2Acc1::isoCentre
private

Definition at line 84 of file ML2Acc1.hh.

Referenced by SetJawAperture().

G4double CML2Acc1::jaw1XAperture
private

Definition at line 84 of file ML2Acc1.hh.

Referenced by Jaw1X(), setJaw1X(), and writeInfo().

G4double CML2Acc1::jaw1YAperture
private

Definition at line 84 of file ML2Acc1.hh.

Referenced by Jaw1Y(), setJaw1Y(), and writeInfo().

G4double CML2Acc1::jaw2XAperture
private

Definition at line 84 of file ML2Acc1.hh.

Referenced by Jaw2X(), setJaw2X(), and writeInfo().

G4double CML2Acc1::jaw2YAperture
private

Definition at line 84 of file ML2Acc1.hh.

Referenced by Jaw2Y(), setJaw2Y(), and writeInfo().

G4VPhysicalVolume* CML2Acc1::leafPhys
private

Definition at line 123 of file ML2Acc1.hh.

Referenced by MLC().

std::vector<G4double> CML2Acc1::leavesA
private

Definition at line 85 of file ML2Acc1.hh.

Referenced by MLC(), reset(), and setLeavesAx().

std::vector<G4double> CML2Acc1::leavesB
private

Definition at line 85 of file ML2Acc1.hh.

Referenced by MLC(), reset(), and setLeavesBx().

G4VPhysicalVolume* CML2Acc1::MirrorTubePV
private

Definition at line 118 of file ML2Acc1.hh.

Referenced by mirror().

G4VPhysicalVolume* CML2Acc1::PCUtubeP1PV
private

Definition at line 113 of file ML2Acc1.hh.

Referenced by ionizationChamber().

G4VPhysicalVolume* CML2Acc1::PCUtubeP2PV
private

Definition at line 115 of file ML2Acc1.hh.

Referenced by ionizationChamber().

G4VPhysicalVolume* CML2Acc1::PCUtubeP3PV
private

Definition at line 117 of file ML2Acc1.hh.

Referenced by ionizationChamber().

G4VPhysicalVolume* CML2Acc1::PCUtubeW1PV
private

Definition at line 112 of file ML2Acc1.hh.

Referenced by ionizationChamber().

G4VPhysicalVolume* CML2Acc1::PCUtubeW2PV
private

Definition at line 114 of file ML2Acc1.hh.

Referenced by ionizationChamber().

G4VPhysicalVolume* CML2Acc1::PCUtubeW3PV
private

Definition at line 116 of file ML2Acc1.hh.

Referenced by ionizationChamber().

G4VPhysicalVolume* CML2Acc1::phVol1X
private

Definition at line 119 of file ML2Acc1.hh.

Referenced by Jaw1X().

G4VPhysicalVolume* CML2Acc1::phVol1Y
private

Definition at line 121 of file ML2Acc1.hh.

Referenced by Jaw1Y().

G4VPhysicalVolume* CML2Acc1::phVol2X
private

Definition at line 120 of file ML2Acc1.hh.

Referenced by Jaw2X().

G4VPhysicalVolume* CML2Acc1::phVol2Y
private

Definition at line 122 of file ML2Acc1.hh.

Referenced by Jaw2Y().

G4VPhysicalVolume* CML2Acc1::targetA_phys
private

Definition at line 105 of file ML2Acc1.hh.

Referenced by target().

G4VPhysicalVolume* CML2Acc1::targetB_phys
private

Definition at line 106 of file ML2Acc1.hh.

Referenced by target().

G4VPhysicalVolume* CML2Acc1::UpperCollimator_phys
private

Definition at line 107 of file ML2Acc1.hh.

Referenced by primaryCollimator().


The documentation for this class was generated from the following files: