oregon ha scritto:
Quello che chiedi non è chiaro. Che intendi con mandare ad altro file?
Ciao, oregon, innanzitutto grazie.
Nel file B1DetectorConstruction.cc calcolo il valore del vettore sampleLabPos nella funzione
void B1DetectorConstruction::PassSamplePosition(){
sampleLabPos=NfilledchamberRelPos+sampleRelPos;
}
Questo valore, devo passarlo a un altro file, dello stesso programma, chiamato B1PrimaryGeneratorAction.cc
Ovvero, in questo file ho la funzione:
void B1PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent)
{
fGeneralParticleSource->SetParticlePosition(sampleLabPos);
fGeneralParticleSource->GeneratePrimaryVertex(anEvent);
}
Quindi, come vedi, mi serve che
sampleLabPos
sia "letto" da B1PrimaryGeneratorAction.cc per essere qui utilizzato. Cioè B1PrimaryGeneratorAction deve sapere che sampleLabPos è un vettore (0,0,n) dove valore n è il numero calcolato
Questi sono i files
https://we.tl/t-fFoX7bixN
Ps. Il programma, in realtà è una simulazione Geant4, ovvero un toolkit per simulare interazioni di particelle. In pratica, ci sono delle librerie che vengono chiamate..ma è codice c++.
Ha di diverso solo qualche nome...ad esempio le variabili anzichè double, si chiamano G4double, ecc. ma in realtà ovviamente funziona anche chiamando con i nomi propri del c++...quindi double, ecc.