Geant4  10.02.p03
ExN02ChamberParameterisation Class Reference

#include <ExN02ChamberParameterisation.hh>

Inheritance diagram for ExN02ChamberParameterisation:
Collaboration diagram for ExN02ChamberParameterisation:

Public Member Functions

 ExN02ChamberParameterisation (G4int NoChambers, G4double startZ, G4double spacing, G4double widthChamber, G4double lengthInitial, G4double lengthFinal)
 
virtual ~ExN02ChamberParameterisation ()
 
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

Definition at line 65 of file ExN02ChamberParameterisation.hh.

Constructor & Destructor Documentation

◆ ExN02ChamberParameterisation()

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

Definition at line 43 of file ExN02ChamberParameterisation.cc.

50 {
51  fNoChambers = NoChambers;
52  fStartZ = startZ;
53  fHalfWidth = widthChamber*0.5;
54  fSpacing = spacingZ;
55  fHalfLengthFirst = 0.5 * lengthInitial;
56  // fHalfLengthLast = lengthFinal;
57  if( NoChambers > 0 ){
58  fHalfLengthIncr = 0.5 * (lengthFinal-lengthInitial)/NoChambers;
59  if (spacingZ < widthChamber) {
60  G4Exception("ExN02ChamberParameterisation::ExN02ChamberParameterisation()",
61  "InvalidSetup", FatalException,
62  "Width>Spacing");
63  }
64  }
65 
66 }
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:

◆ ~ExN02ChamberParameterisation()

ExN02ChamberParameterisation::~ExN02ChamberParameterisation ( )
virtual

Definition at line 70 of file ExN02ChamberParameterisation.cc.

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

Member Function Documentation

◆ ComputeDimensions() [1/13]

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

Reimplemented from G4VPVParameterisation.

Definition at line 87 of file ExN02ChamberParameterisation.cc.

88 {
89  G4double halfLength= fHalfLengthFirst + copyNo * fHalfLengthIncr;
90  trackerChamber.SetXHalfLength(halfLength);
91  trackerChamber.SetYHalfLength(halfLength);
92  trackerChamber.SetZHalfLength(fHalfWidth);
93 }
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 ExN02ChamberParameterisation::ComputeDimensions ( G4Trd ,
const G4int  ,
const G4VPhysicalVolume  
) const
inlineprivatevirtual

Reimplemented from G4VPVParameterisation.

Definition at line 87 of file ExN02ChamberParameterisation.hh.

87 {}

◆ ComputeDimensions() [3/13]

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

Reimplemented from G4VPVParameterisation.

Definition at line 88 of file ExN02ChamberParameterisation.hh.

88 {}

◆ ComputeDimensions() [4/13]

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

Reimplemented from G4VPVParameterisation.

Definition at line 89 of file ExN02ChamberParameterisation.hh.

89 {}

◆ ComputeDimensions() [5/13]

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

Reimplemented from G4VPVParameterisation.

Definition at line 90 of file ExN02ChamberParameterisation.hh.

90 {}

◆ ComputeDimensions() [6/13]

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

Reimplemented from G4VPVParameterisation.

Definition at line 91 of file ExN02ChamberParameterisation.hh.

91 {}

◆ ComputeDimensions() [7/13]

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

Reimplemented from G4VPVParameterisation.

Definition at line 92 of file ExN02ChamberParameterisation.hh.

92 {}

◆ ComputeDimensions() [8/13]

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

Reimplemented from G4VPVParameterisation.

Definition at line 93 of file ExN02ChamberParameterisation.hh.

93 {}

◆ ComputeDimensions() [9/13]

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

Reimplemented from G4VPVParameterisation.

Definition at line 94 of file ExN02ChamberParameterisation.hh.

94 {}

◆ ComputeDimensions() [10/13]

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

Reimplemented from G4VPVParameterisation.

Definition at line 95 of file ExN02ChamberParameterisation.hh.

95 {}

◆ ComputeDimensions() [11/13]

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

Reimplemented from G4VPVParameterisation.

Definition at line 96 of file ExN02ChamberParameterisation.hh.

96 {}

◆ ComputeDimensions() [12/13]

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

Reimplemented from G4VPVParameterisation.

Definition at line 97 of file ExN02ChamberParameterisation.hh.

97 {}

◆ ComputeDimensions() [13/13]

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

Reimplemented from G4VPVParameterisation.

Definition at line 98 of file ExN02ChamberParameterisation.hh.

98 {}

◆ ComputeTransformation()

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

Implements G4VPVParameterisation.

Definition at line 76 of file ExN02ChamberParameterisation.cc.

77 {
78  G4double Zposition= fStartZ + (copyNo+1) * fSpacing;
79  G4ThreeVector origin(0,0,Zposition);
80  physVol->SetTranslation(origin);
81  physVol->SetRotation(0);
82 }
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 ExN02ChamberParameterisation::fHalfLengthFirst
private

Definition at line 105 of file ExN02ChamberParameterisation.hh.

◆ fHalfLengthIncr

G4double ExN02ChamberParameterisation::fHalfLengthIncr
private

Definition at line 106 of file ExN02ChamberParameterisation.hh.

◆ fHalfWidth

G4double ExN02ChamberParameterisation::fHalfWidth
private

Definition at line 103 of file ExN02ChamberParameterisation.hh.

◆ fNoChambers

G4int ExN02ChamberParameterisation::fNoChambers
private

Definition at line 101 of file ExN02ChamberParameterisation.hh.

◆ fSpacing

G4double ExN02ChamberParameterisation::fSpacing
private

Definition at line 104 of file ExN02ChamberParameterisation.hh.

◆ fStartZ

G4double ExN02ChamberParameterisation::fStartZ
private

Definition at line 102 of file ExN02ChamberParameterisation.hh.


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