Geant4  10.02.p03
ExP01ChamberParameterisation Class Reference

Chamber parameterisation for the persistency example. More...

#include <ExP01ChamberParameterisation.hh>

Inheritance diagram for ExP01ChamberParameterisation:
Collaboration diagram for ExP01ChamberParameterisation:

Public Member Functions

 ExP01ChamberParameterisation (G4int NoChambers, G4double startZ, G4double spacing, G4double widthChamber, G4double lengthInitial, G4double lengthFinal)
 
 ~ExP01ChamberParameterisation ()
 
void ComputeTransformation (const G4int copyNo, G4VPhysicalVolume *physVol) const
 
void ComputeDimensions (G4Box &trackerLayer, const G4int copyNo, const G4VPhysicalVolume *physVol) const
 
- Public Member Functions inherited from G4VPVParameterisation
 G4VPVParameterisation ()
 
virtual ~G4VPVParameterisation ()
 
virtual G4VSolidComputeSolid (const G4int, G4VPhysicalVolume *)
 
virtual G4MaterialComputeMaterial (const G4int repNo, G4VPhysicalVolume *currentVol, const G4VTouchable *parentTouch=0)
 
virtual G4bool IsNested () const
 
virtual G4VVolumeMaterialScannerGetMaterialScanner ()
 

Private Member Functions

void ComputeDimensions (G4Trd &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Trap &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Cons &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Sphere &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Orb &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Ellipsoid &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Torus &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Para &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Hype &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Tubs &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Polycone &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Polyhedra &, const G4int, const G4VPhysicalVolume *) const
 

Private Attributes

G4int fNoChambers
 
G4double fStartZ
 
G4double fHalfWidth
 
G4double fSpacing
 
G4double fHalfLengthFirst
 
G4double fHalfLengthIncr
 

Detailed Description

Chamber parameterisation for the persistency example.

Definition at line 67 of file ExP01ChamberParameterisation.hh.

Constructor & Destructor Documentation

◆ ExP01ChamberParameterisation()

ExP01ChamberParameterisation::ExP01ChamberParameterisation ( G4int  NoChambers,
G4double  startZ,
G4double  spacing,
G4double  widthChamber,
G4double  lengthInitial,
G4double  lengthFinal 
)

Definition at line 43 of file ExP01ChamberParameterisation.cc.

51 {
52  fNoChambers = NoChambers;
53  fStartZ = startZ;
54  fHalfWidth = widthChamber*0.5;
55  fSpacing = spacingZ;
56  fHalfLengthFirst = 0.5 * lengthInitial;
57  // fHalfLengthLast = lengthFinal;
58  fHalfLengthIncr = 0;
59  if( NoChambers > 0 ){
60  fHalfLengthIncr = 0.5 * (lengthFinal-lengthInitial)/NoChambers;
61 
62  if (spacingZ < widthChamber) {
64  "ExN02ChamberParameterisation::ExN02ChamberParameterisation()",
65  "InvalidSetup", FatalException,
66  "Width>Spacing");
67  }
68  }
69 
70 }
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
Here is the call graph for this function:

◆ ~ExP01ChamberParameterisation()

ExP01ChamberParameterisation::~ExP01ChamberParameterisation ( )

Definition at line 74 of file ExP01ChamberParameterisation.cc.

75 {}
Here is the call graph for this function:

Member Function Documentation

◆ ComputeDimensions() [1/13]

void ExP01ChamberParameterisation::ComputeDimensions ( G4Box trackerLayer,
const G4int  copyNo,
const G4VPhysicalVolume physVol 
) const
virtual

Reimplemented from G4VPVParameterisation.

Definition at line 91 of file ExP01ChamberParameterisation.cc.

92 {
93  G4double halfLength= fHalfLengthFirst + copyNo * fHalfLengthIncr;
94  trackerChamber.SetXHalfLength(halfLength);
95  trackerChamber.SetYHalfLength(halfLength);
96  trackerChamber.SetZHalfLength(fHalfWidth);
97 }
double G4double
Definition: G4Types.hh:76
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ComputeDimensions() [2/13]

void ExP01ChamberParameterisation::ComputeDimensions ( G4Trd ,
const G4int  ,
const G4VPhysicalVolume  
) const
inlineprivatevirtual

Reimplemented from G4VPVParameterisation.

Definition at line 88 of file ExP01ChamberParameterisation.hh.

88 {}

◆ ComputeDimensions() [3/13]

void ExP01ChamberParameterisation::ComputeDimensions ( G4Trap ,
const G4int  ,
const G4VPhysicalVolume  
) const
inlineprivatevirtual

Reimplemented from G4VPVParameterisation.

Definition at line 89 of file ExP01ChamberParameterisation.hh.

89 {}

◆ ComputeDimensions() [4/13]

void ExP01ChamberParameterisation::ComputeDimensions ( G4Cons ,
const G4int  ,
const G4VPhysicalVolume  
) const
inlineprivatevirtual

Reimplemented from G4VPVParameterisation.

Definition at line 90 of file ExP01ChamberParameterisation.hh.

90 {}

◆ ComputeDimensions() [5/13]

void ExP01ChamberParameterisation::ComputeDimensions ( G4Sphere ,
const G4int  ,
const G4VPhysicalVolume  
) const
inlineprivatevirtual

Reimplemented from G4VPVParameterisation.

Definition at line 91 of file ExP01ChamberParameterisation.hh.

91 {}

◆ ComputeDimensions() [6/13]

void ExP01ChamberParameterisation::ComputeDimensions ( G4Orb ,
const G4int  ,
const G4VPhysicalVolume  
) const
inlineprivatevirtual

Reimplemented from G4VPVParameterisation.

Definition at line 92 of file ExP01ChamberParameterisation.hh.

92 {}

◆ ComputeDimensions() [7/13]

void ExP01ChamberParameterisation::ComputeDimensions ( G4Ellipsoid ,
const G4int  ,
const G4VPhysicalVolume  
) const
inlineprivatevirtual

Reimplemented from G4VPVParameterisation.

Definition at line 93 of file ExP01ChamberParameterisation.hh.

93 {}

◆ ComputeDimensions() [8/13]

void ExP01ChamberParameterisation::ComputeDimensions ( G4Torus ,
const G4int  ,
const G4VPhysicalVolume  
) const
inlineprivatevirtual

Reimplemented from G4VPVParameterisation.

Definition at line 94 of file ExP01ChamberParameterisation.hh.

94 {}

◆ ComputeDimensions() [9/13]

void ExP01ChamberParameterisation::ComputeDimensions ( G4Para ,
const G4int  ,
const G4VPhysicalVolume  
) const
inlineprivatevirtual

Reimplemented from G4VPVParameterisation.

Definition at line 95 of file ExP01ChamberParameterisation.hh.

95 {}

◆ ComputeDimensions() [10/13]

void ExP01ChamberParameterisation::ComputeDimensions ( G4Hype ,
const G4int  ,
const G4VPhysicalVolume  
) const
inlineprivatevirtual

Reimplemented from G4VPVParameterisation.

Definition at line 96 of file ExP01ChamberParameterisation.hh.

96 {}

◆ ComputeDimensions() [11/13]

void ExP01ChamberParameterisation::ComputeDimensions ( G4Tubs ,
const G4int  ,
const G4VPhysicalVolume  
) const
inlineprivatevirtual

Reimplemented from G4VPVParameterisation.

Definition at line 97 of file ExP01ChamberParameterisation.hh.

97 {}

◆ ComputeDimensions() [12/13]

void ExP01ChamberParameterisation::ComputeDimensions ( G4Polycone ,
const G4int  ,
const G4VPhysicalVolume  
) const
inlineprivatevirtual

Reimplemented from G4VPVParameterisation.

Definition at line 98 of file ExP01ChamberParameterisation.hh.

98 {}

◆ ComputeDimensions() [13/13]

void ExP01ChamberParameterisation::ComputeDimensions ( G4Polyhedra ,
const G4int  ,
const G4VPhysicalVolume  
) const
inlineprivatevirtual

Reimplemented from G4VPVParameterisation.

Definition at line 99 of file ExP01ChamberParameterisation.hh.

99 {}

◆ ComputeTransformation()

void ExP01ChamberParameterisation::ComputeTransformation ( const G4int  copyNo,
G4VPhysicalVolume physVol 
) const
virtual

Implements G4VPVParameterisation.

Definition at line 80 of file ExP01ChamberParameterisation.cc.

81 {
82  G4double Zposition= fStartZ + (copyNo+1) * fSpacing;
83  G4ThreeVector origin(0,0,Zposition);
84  physVol->SetTranslation(origin);
85  physVol->SetRotation(0);
86 }
void SetRotation(G4RotationMatrix *)
void SetTranslation(const G4ThreeVector &v)
double G4double
Definition: G4Types.hh:76
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ fHalfLengthFirst

G4double ExP01ChamberParameterisation::fHalfLengthFirst
private

Definition at line 107 of file ExP01ChamberParameterisation.hh.

◆ fHalfLengthIncr

G4double ExP01ChamberParameterisation::fHalfLengthIncr
private

Definition at line 108 of file ExP01ChamberParameterisation.hh.

◆ fHalfWidth

G4double ExP01ChamberParameterisation::fHalfWidth
private

Definition at line 105 of file ExP01ChamberParameterisation.hh.

◆ fNoChambers

G4int ExP01ChamberParameterisation::fNoChambers
private

Definition at line 103 of file ExP01ChamberParameterisation.hh.

◆ fSpacing

G4double ExP01ChamberParameterisation::fSpacing
private

Definition at line 106 of file ExP01ChamberParameterisation.hh.

◆ fStartZ

G4double ExP01ChamberParameterisation::fStartZ
private

Definition at line 104 of file ExP01ChamberParameterisation.hh.


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