Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions
ChromosomeParameterisation Class Reference

#include <ChromosomeParameterisation.hh>

Inheritance diagram for ChromosomeParameterisation:
G4VPVParameterisation

Public Member Functions

 ChromosomeParameterisation (const char *filename)
 
virtual ~ChromosomeParameterisation ()
 
int getNumRosettes ()
 
void ComputeTransformation (const G4int copyNo, G4VPhysicalVolume *physVol) const
 
void ComputeDimensions (G4Tubs &rosette, 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 ()
 
virtual void ComputeDimensions (G4Ellipsoid &, const G4int, const G4VPhysicalVolume *) const
 

Detailed Description

Definition at line 60 of file ChromosomeParameterisation.hh.

Constructor & Destructor Documentation

ChromosomeParameterisation::ChromosomeParameterisation ( const char *  filename)

Definition at line 46 of file ChromosomeParameterisation.cc.

References python.hepunit::degree, python.hepunit::nanometer, test::x, and z.

47 {
48  ifstream f(filename, ios::in);
49  if (!f)
50  return;
51 
52  fPositions.reserve(100);
53  fRotations.reserve(100);
54 
55  while (!f.eof())
56  {
57  double x, y, z, rot;
58  f >> x >> y >> z >> rot;
59  fPositions.push_back(new G4ThreeVector(x * nanometer, y * nanometer, z * nanometer));
60  fRotations.push_back(new G4RotationMatrix(0, 0, rot * degree));
61  }
62 }
CLHEP::Hep3Vector G4ThreeVector
CLHEP::HepRotation G4RotationMatrix
G4double z
Definition: TRTMaterials.hh:39
int nanometer
Definition: hepunit.py:35
tuple degree
Definition: hepunit.py:69
ChromosomeParameterisation::~ChromosomeParameterisation ( )
virtual

Definition at line 66 of file ChromosomeParameterisation.cc.

67 {
68  unsigned int i;
69  for (i = 0; i < fPositions.size(); i++)
70  delete fPositions[i];
71  for (i = 0; i < fRotations.size(); i++)
72  delete fRotations[i];
73 }

Member Function Documentation

void ChromosomeParameterisation::ComputeDimensions ( G4Tubs rosette,
const G4int  copyNo,
const G4VPhysicalVolume physVol 
) const
virtual

Reimplemented from G4VPVParameterisation.

Definition at line 77 of file ChromosomeParameterisation.cc.

79 {
80 
81 }
void ChromosomeParameterisation::ComputeTransformation ( const G4int  copyNo,
G4VPhysicalVolume physVol 
) const
virtual

Implements G4VPVParameterisation.

Definition at line 85 of file ChromosomeParameterisation.cc.

References G4VPhysicalVolume::SetRotation(), and G4VPhysicalVolume::SetTranslation().

87 {
88  // see passive vs active method to specify
89  // this transformation
90  physVol->SetTranslation(*fPositions[copyNo]);
91  physVol->SetRotation(fRotations[copyNo]);
92 }
void SetRotation(G4RotationMatrix *)
void SetTranslation(const G4ThreeVector &v)
int ChromosomeParameterisation::getNumRosettes ( )
inline

Definition at line 66 of file ChromosomeParameterisation.hh.

66 { return fPositions.size(); }

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