Gå til innhold

Erklære og sette variable i headerfil


Anbefalte innlegg

Hei!

 

Jeg holder på å simulere et partikkelfysikkeksperiment, og må derfor "plassere ut" en del utstyr. Jeg har en klasse som gjør dette, og det hadde vært mest oversiktlig om jeg kunne satt koordinatene i form av variable i en headerfil, noe ala:

 

//header

#include "globals.hh"

class myDetectorConstruction :public G4VUserDetectorConstruction {
public:

myDetectorConstruction();

private:
static const G4double DIM_BAT_x(25*cm), DIM_BAT_y(6*cm), DIM_BAT_y(3*cm);
(osv.)
};

//implementasjon
#include "myDetectorConstruction.hh"

myDetectorConstruction::myDetectorConstruction() {

(...massevisavkode...)

G4Box* BAT_box = new G4Box(blablaba, DIM_BAT_x, DIM_BAT_y, DIM_BAT_z);

(..massevisavkode...)


}

 

(Mulig at noen av funksjonskallene etc. ikke er riktige, men poenget er å erklære dimensjoner i header. "cm" etc. er erklært i globals.hh, som kommer fra rammeverket GEANT4.

 

GCC 4.3.2 er kompilatoren, om det har noe å si.

 

*EDIT: Fiksa på bbcode så det så penere ut

Endret av kyrsjo
Lenke til kommentar
Videoannonse
Annonse

Nå har ikke jeg en komplator tilgjengelig, men jeg mener at du kan vel gjøre noe ala dette:

 

static const double[3] SensorDimXYZ = {25*cm, 6*cm, 3*cm};

 

for så

 

(...massevisavkode...)
G4Box* BAT_box = new G4Box(blablaba, SensorDimXYZ[0], SensorDimXYZ[1], SensorDimXYZ[2]);
(...massevisavkode...)

 

Lykke til

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...