Geant4  10.01
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 CML2Acc1 * GetInstance (void)
 

Private Member Functions

G4Material * otherMaterials (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< G4double > leavesA
 
std::vector< G4double > leavesB
 
G4int idEnergy
 
CML2Acc1Messenger * acc1Messenger
 
G4VPhysicalVolume * PVWorld
 
G4VPhysicalVolume * targetA_phys
 
G4VPhysicalVolume * targetB_phys
 
G4VPhysicalVolume * UpperCollimator_phys
 
G4VPhysicalVolume * CylMinusCone_phys
 
G4VPhysicalVolume * BeWTubePV
 
G4VPhysicalVolume * FFL1A_1PV
 
G4VPhysicalVolume * FFL2_1PV
 
G4VPhysicalVolume * PCUtubeW1PV
 
G4VPhysicalVolume * PCUtubeP1PV
 
G4VPhysicalVolume * PCUtubeW2PV
 
G4VPhysicalVolume * PCUtubeP2PV
 
G4VPhysicalVolume * PCUtubeW3PV
 
G4VPhysicalVolume * PCUtubeP3PV
 
G4VPhysicalVolume * MirrorTubePV
 
G4VPhysicalVolume * phVol1X
 
G4VPhysicalVolume * phVol2X
 
G4VPhysicalVolume * phVol1Y
 
G4VPhysicalVolume * phVol2Y
 
G4VPhysicalVolume * leafPhys
 

Static Private Attributes

static CML2Acc1 * instance = 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, 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: