VMC Examples Version 6.8
Loading...
Searching...
No Matches
Ex03dMCApplication Class Reference

Implementation of the TVirtualMCApplication. More...

#include <Ex03dMCApplication.h>

Inheritance diagram for Ex03dMCApplication:

Public Member Functions

 Ex03dMCApplication (const char *name, const char *title)
 Ex03dMCApplication ()
virtual ~Ex03dMCApplication ()
void InitMC (const char *setup, TMCRootManager::StorageMode storageMode=TMCRootManager::kRNTuple)
void RunMC (Int_t nofEvents)
void FinishRun ()
void ReadEvent (Int_t i, TMCRootManager::StorageMode storageMode=TMCRootManager::kRNTuple, Int_t threadId=-1)
virtual TVirtualMCApplicationCloneForWorker () const
virtual void InitOnWorker ()
virtual void FinishRunOnWorker ()
virtual void ConstructGeometry ()
virtual void InitGeometry ()
virtual void AddParticles ()
virtual void AddIons ()
virtual void GeneratePrimaries ()
virtual void BeginEvent ()
virtual void BeginPrimary ()
virtual void PreTrack ()
virtual void Stepping ()
virtual void PostTrack ()
virtual void FinishPrimary ()
virtual void FinishEvent ()
void SetPrintModulo (Int_t value)
void SetVerboseLevel (Int_t verboseLevel)
void SetControls (Bool_t isConstrols)
void SetField (Double_t bz)
Ex03DetectorConstructionGetDetectorConstruction () const
Ex03dCalorimeterSDGetCalorimeterSD () const
Ex03PrimaryGeneratorGetPrimaryGenerator () const
void SetOldGeometry (Bool_t oldGeometry=kTRUE)

Private Member Functions

 Ex03dMCApplication (const Ex03dMCApplication &origin)
void RegisterData ()

Private Attributes

TMCRootManager * fRootManager
 Root manager.
Int_t fPrintModulo
 The event modulus number to be printed.
Int_t fEventNo
 Event counter.
TMCVerbose fVerbose
 VMC verbose helper.
Ex03dMCStackfStack
 VMC stack.
Ex03DetectorConstructionfDetConstruction
 Dector construction.
Ex03dCalorimeterSDfCalorimeterSD
 Calorimeter SD.
Ex03PrimaryGeneratorfPrimaryGenerator
 Primary generator.
TGeoUniformMagField * fMagField
 Magnetic field.
Bool_t fOldGeometry
 Option for geometry definition.
Bool_t fIsControls
 Option to activate special controls.
Bool_t fIsMaster
 If is on master thread.

Detailed Description

Implementation of the TVirtualMCApplication.

A variant of the Ex03MCApplication class updated for RNTuple output.

Date
07/07/2026
Author
Radoslaw Karabowicz, GSI

Definition at line 42 of file Ex03dMCApplication.h.

Constructor & Destructor Documentation

◆ Ex03dMCApplication() [1/3]

Ex03dMCApplication::Ex03dMCApplication ( const char * name,
const char * title )

Standard constructor

Parameters
nameThe MC application name
titleThe MC application description

Definition at line 42 of file Ex03dMCApplication.cxx.

43 : TVirtualMCApplication(name, title),
44 fRootManager(0),
45 fPrintModulo(1),
46 fEventNo(0),
47 fVerbose(0),
48 fStack(0),
52 fMagField(0),
53 fOldGeometry(kFALSE),
54 fIsControls(kFALSE),
55 fIsMaster(kTRUE)
56{
57 /// Standard constructor
58 /// \param name The MC application name
59 /// \param title The MC application description
60
61 cout << "--------------------------------------------------------------"
62 << endl;
63 cout << " VMC Example E03" << endl;
64 cout << "--------------------------------------------------------------"
65 << endl;
66
67 // Create a user stack
68 fStack = new Ex03dMCStack(1000);
69
70 // Create detector construction
71 fDetConstruction = new Ex03DetectorConstruction();
72
73 // Create a calorimeter SD
74 fCalorimeterSD = new Ex03dCalorimeterSD("Calorimeter", fDetConstruction);
75
76 // Create a primary generator
77 fPrimaryGenerator = new Ex03PrimaryGenerator(fStack);
78
79 // Constant magnetic field (in kiloGauss)
80 fMagField = new TGeoUniformMagField();
81}
TMCRootManager * fRootManager
Root manager.
Ex03DetectorConstruction * fDetConstruction
Dector construction.
TGeoUniformMagField * fMagField
Magnetic field.
Int_t fEventNo
Event counter.
Ex03dCalorimeterSD * fCalorimeterSD
Calorimeter SD.
Bool_t fIsControls
Option to activate special controls.
Ex03PrimaryGenerator * fPrimaryGenerator
Primary generator.
Bool_t fOldGeometry
Option for geometry definition.
Ex03dMCStack * fStack
VMC stack.
TMCVerbose fVerbose
VMC verbose helper.
Bool_t fIsMaster
If is on master thread.
Int_t fPrintModulo
The event modulus number to be printed.

◆ Ex03dMCApplication() [2/3]

Ex03dMCApplication::Ex03dMCApplication ( )

Default constructor

Definition at line 118 of file Ex03dMCApplication.cxx.

119 : TVirtualMCApplication(),
120 fRootManager(0),
121 fPrintModulo(1),
122 fEventNo(0),
123 fStack(0),
127 fMagField(0),
128 fOldGeometry(kFALSE),
129 fIsControls(kFALSE),
130 fIsMaster(kTRUE)
131{
132 /// Default constructor
133}

◆ ~Ex03dMCApplication()

Ex03dMCApplication::~Ex03dMCApplication ( )
virtual

Destructor

Definition at line 136 of file Ex03dMCApplication.cxx.

137{
138 /// Destructor
139
140 delete fRootManager;
141 delete fStack;
142 if (fIsMaster) delete fDetConstruction;
143 delete fCalorimeterSD;
144 delete fPrimaryGenerator;
145 delete fMagField;
146 delete gMC;
147}

◆ Ex03dMCApplication() [3/3]

Ex03dMCApplication::Ex03dMCApplication ( const Ex03dMCApplication & origin)
private

Copy constructor for cloning application on workers (in multithreading mode)

Parameters
originThe source MC application

Definition at line 84 of file Ex03dMCApplication.cxx.

85 : TVirtualMCApplication(origin.GetName(), origin.GetTitle()),
86 fRootManager(0),
88 fEventNo(0),
89 fVerbose(origin.fVerbose),
90 fStack(0),
94 fMagField(0),
96 fIsMaster(kFALSE)
97{
98 /// Copy constructor for cloning application on workers (in multithreading
99 /// mode) \param origin The source MC application
100
101 // Create new user stack
102 fStack = new Ex03dMCStack(1000);
103
104 // Create a calorimeter SD
106 new Ex03dCalorimeterSD(*(origin.fCalorimeterSD), fDetConstruction);
107
108 // Create a primary generator
110 new Ex03PrimaryGenerator(*(origin.fPrimaryGenerator), fStack);
111
112 // Constant magnetic field (in kiloGauss)
113 fMagField = new TGeoUniformMagField(origin.fMagField->GetFieldValue()[0],
114 origin.fMagField->GetFieldValue()[1], origin.fMagField->GetFieldValue()[2]);
115}

Member Function Documentation

◆ InitMC()

void Ex03dMCApplication::InitMC ( const char * setup,
TMCRootManager::StorageMode storageMode = TMCRootManager::kRNTuple )

Initialize MC. The selection of the concrete MC is done in the macro.

Parameters
setupThe name of the configuration macro

Definition at line 170 of file Ex03dMCApplication.cxx.

172{
173 /// Initialize MC.
174 /// The selection of the concrete MC is done in the macro.
175 /// \param setup The name of the configuration macro
176
177 fVerbose.InitMC();
178
179 if (TString(setup) != "") {
180 gROOT->LoadMacro(setup);
181 gInterpreter->ProcessLine("Config()");
182 if (!gMC) {
183 Fatal(
184 "InitMC", "Processing Config() has failed. (No MC is instantiated.)");
185 }
186 }
187
188 // The write optins must be set before creating TMCRootManager object
189 TMCRootManager::SetStorageMode(storageMode);
190 TMCRootManager::SetDebug(false);
191 TString fileModifier = TMCRootManager::GetFileModifier(storageMode);
192
193 // Create Root manager
194 if ((!gMC->IsMT()) || (storageMode != TMCRootManager::kTTree)) {
195 fRootManager = new TMCRootManager(
196 fileModifier + GetName(), TMCRootManager::kWrite);
197 }
198
199 RegisterData();
200 if (fRootManager) {
201 fRootManager->CreateRNTuple();
202 }
203
204 gMC->SetStack(fStack);
205 gMC->SetMagField(fMagField);
206 gMC->Init();
207 gMC->BuildPhysics();
208}

◆ RunMC()

void Ex03dMCApplication::RunMC ( Int_t nofEvents)

Run MC.

Parameters
nofEventsNumber of events to be processed

Definition at line 211 of file Ex03dMCApplication.cxx.

212{
213 /// Run MC.
214 /// \param nofEvents Number of events to be processed
215
216 fVerbose.RunMC(nofEvents);
217
218 gMC->ProcessRun(nofEvents);
219 FinishRun();
220}

◆ FinishRun()

void Ex03dMCApplication::FinishRun ( )

Finish MC run.

Definition at line 223 of file Ex03dMCApplication.cxx.

224{
225 /// Finish MC run.
226
227 fVerbose.FinishRun();
228 // cout << "Ex03dMCApplication::FinishRun: " << endl;
229 if (fRootManager) {
230 fRootManager->WriteAll();
231 fRootManager->Close();
232 }
233}

◆ ReadEvent()

void Ex03dMCApplication::ReadEvent ( Int_t i,
TMCRootManager::StorageMode storageMode = TMCRootManager::kRNTuple,
Int_t threadId = -1 )

Read i -th event and prints hits.

Definition at line 273 of file Ex03dMCApplication.cxx.

275{
276 /// Read \em i -th event and prints hits.
277
278 if (!fRootManager) {
279 TMCRootManager::SetStorageMode(storageMode);
280 TMCRootManager::SetDebug(false);
281 TString fileModifier = TMCRootManager::GetFileModifier(storageMode);
282
283 std::cout << "Go to create Root manager: " << fileModifier + GetName() << std:: endl;
284
285 fRootManager = new TMCRootManager(
286 fileModifier + GetName(), TMCRootManager::kRead, threadId);
287 RegisterData();
288 }
289
290 fRootManager->ReadEvent(i);
291}

◆ CloneForWorker()

TVirtualMCApplication * Ex03dMCApplication::CloneForWorker ( ) const
virtual

Definition at line 236 of file Ex03dMCApplication.cxx.

237{
238 return new Ex03dMCApplication(*this);
239}

◆ InitOnWorker()

void Ex03dMCApplication::InitOnWorker ( )
virtual

Definition at line 242 of file Ex03dMCApplication.cxx.

243{
244 // Create Root manager
245 Int_t threadRank = 1;
246 // The real thread rank will be set in MCRootManager
247
248 auto storageMode = TMCRootManager::GetStorageMode();
249 auto fileModifier = TMCRootManager::GetFileModifier(storageMode);
250
251 fRootManager = new TMCRootManager(
252 fileModifier + GetName(), TMCRootManager::kWrite, threadRank);
253
254 // Set data to MC
255 gMC->SetStack(fStack);
256 gMC->SetMagField(fMagField);
257
258 RegisterData();
259 fRootManager->CreateRNTuple();
260}

◆ FinishRunOnWorker()

void Ex03dMCApplication::FinishRunOnWorker ( )
virtual

Definition at line 263 of file Ex03dMCApplication.cxx.

264{
265 // cout << "Ex03dMCApplication::FinishWorkerRun: " << endl;
266 if (fRootManager) {
267 fRootManager->WriteAll();
268 fRootManager->Close();
269 }
270}

◆ ConstructGeometry()

void Ex03dMCApplication::ConstructGeometry ( )
virtual

Construct geometry using detector contruction class. The detector contruction class is using TGeo functions or TVirtualMC functions (if oldGeometry is selected)

Definition at line 294 of file Ex03dMCApplication.cxx.

295{
296 /// Construct geometry using detector contruction class.
297 /// The detector contruction class is using TGeo functions or
298 /// TVirtualMC functions (if oldGeometry is selected)
299
300 fVerbose.ConstructGeometry();
301
302 if (!fOldGeometry) {
303 fDetConstruction->ConstructMaterials();
304 fDetConstruction->ConstructGeometry();
305 // TGeoManager::Import("geometry.root");
306 // gMC->SetRootGeometry();
307 }
308 else {
309 Ex03DetectorConstructionOld detConstructionOld;
310 detConstructionOld.ConstructMaterials();
311 detConstructionOld.ConstructGeometry();
312 }
313}

◆ InitGeometry()

void Ex03dMCApplication::InitGeometry ( )
virtual

Initialize geometry

Definition at line 316 of file Ex03dMCApplication.cxx.

317{
318 /// Initialize geometry
319 fVerbose.InitGeometry();
320
321 fDetConstruction->SetCuts();
322
323 if (fIsControls) fDetConstruction->SetControls();
324
325 fCalorimeterSD->Initialize();
326}

◆ AddParticles()

void Ex03dMCApplication::AddParticles ( )
virtual

Example of user defined particle with user defined decay mode

Definition at line 329 of file Ex03dMCApplication.cxx.

330{
331 /// Example of user defined particle with user defined decay mode
332
333 fVerbose.AddParticles();
334
335 // Define particle
336 gMC->DefineParticle(1000020050, "He5", kPTHadron, 5.03427, 2.0, 0.002, "Ion",
337 0.0, 0, 1, 0, 0, 0, 0, 0, 5, kFALSE);
338
339 // Define the 2 body phase space decay for He5
340 Int_t mode[6][3];
341 Float_t bratio[6];
342
343 for (Int_t kz = 0; kz < 6; kz++) {
344 bratio[kz] = 0.;
345 mode[kz][0] = 0;
346 mode[kz][1] = 0;
347 mode[kz][2] = 0;
348 }
349 bratio[0] = 100.;
350 mode[0][0] = kNeutron; // neutron (2112)
351 mode[0][1] = 1000020040; // alpha
352
353 gMC->SetDecayMode(1000020050, bratio, mode);
354
355 // Overwrite a decay mode already defined in MCs
356 // Kaon Short: 310 normally decays in two modes
357 // pi+, pi- 68.61 %
358 // pi0, pi0 31.39 %
359 // and we force only the mode pi0, pi0
360
361 Int_t mode2[6][3];
362 Float_t bratio2[6];
363
364 for (Int_t kz = 0; kz < 6; kz++) {
365 bratio2[kz] = 0.;
366 mode2[kz][0] = 0;
367 mode2[kz][1] = 0;
368 mode2[kz][2] = 0;
369 }
370 bratio2[0] = 100.;
371 mode2[0][0] = kPi0; // pi0 (111)
372 mode2[0][1] = kPi0; // pi0 (111)
373
374 gMC->SetDecayMode(kK0Short, bratio2, mode2);
375}

◆ AddIons()

void Ex03dMCApplication::AddIons ( )
virtual

Example of user defined ion

Definition at line 378 of file Ex03dMCApplication.cxx.

379{
380 /// Example of user defined ion
381
382 fVerbose.AddIons();
383
384 gMC->DefineIon("MyIon", 34, 70, 12, 0.);
385}

◆ GeneratePrimaries()

void Ex03dMCApplication::GeneratePrimaries ( )
virtual

Fill the user stack (derived from TVirtualMCStack) with primary particles.

Definition at line 388 of file Ex03dMCApplication.cxx.

389{
390 /// Fill the user stack (derived from TVirtualMCStack) with primary particles.
391
392 fVerbose.GeneratePrimaries();
393
394 TVector3 origin(fDetConstruction->GetWorldSizeX(),
395 fDetConstruction->GetCalorSizeYZ(), fDetConstruction->GetCalorSizeYZ());
396
397 fPrimaryGenerator->GeneratePrimaries(origin);
398}

◆ BeginEvent()

void Ex03dMCApplication::BeginEvent ( )
virtual

User actions at beginning of event

Definition at line 401 of file Ex03dMCApplication.cxx.

402{
403 /// User actions at beginning of event
404
405 fVerbose.BeginEvent();
406
407 // Clear TGeo tracks (if filled)
408 if (TString(gMC->GetName()) == "TGeant3TGeo" &&
409 gGeoManager->GetListOfTracks() && gGeoManager->GetTrack(0) &&
410 ((TVirtualGeoTrack*)gGeoManager->GetTrack(0))->HasPoints()) {
411
412 gGeoManager->ClearTracks();
413 // if (gPad) gPad->Clear();
414 }
415
416 fEventNo++;
417 if (fEventNo % fPrintModulo == 0) {
418 cout << "\n---> Begin of event: " << fEventNo << endl;
419 // ??? How to do this in VMC
420 // HepRandom::showEngineStatus();
421 }
422}

◆ BeginPrimary()

void Ex03dMCApplication::BeginPrimary ( )
virtual

User actions at beginning of a primary track. If test for user defined decay is activated, the primary track ID is printed on the screen.

Definition at line 425 of file Ex03dMCApplication.cxx.

426{
427 /// User actions at beginning of a primary track.
428 /// If test for user defined decay is activated,
429 /// the primary track ID is printed on the screen.
430
431 fVerbose.BeginPrimary();
432
433 if (fPrimaryGenerator->GetUserDecay()) {
434 cout << " Primary track ID = " << fStack->GetCurrentTrackNumber() << endl;
435 }
436}

◆ PreTrack()

void Ex03dMCApplication::PreTrack ( )
virtual

User actions at beginning of each track If test for user defined decay is activated, the decay products of the primary track (K0Short) are printed on the screen.

Definition at line 439 of file Ex03dMCApplication.cxx.

440{
441 /// User actions at beginning of each track
442 /// If test for user defined decay is activated,
443 /// the decay products of the primary track (K0Short)
444 /// are printed on the screen.
445
446 fVerbose.PreTrack();
447
448 // print info about K0Short decay products
449 if (fPrimaryGenerator->GetUserDecay()) {
450 Int_t parentID = fStack->GetCurrentParentTrackNumber();
451
452 if (parentID >= 0 &&
453 fStack->GetParticle(parentID)->GetPdgCode() == kK0Short &&
454 fStack->GetCurrentTrack()->GetUniqueID() == kPDecay) {
455 // The production process is saved as TParticle unique ID
456 // via Ex03dMCStack
457
458 cout << " Current track " << fStack->GetCurrentTrack()->GetName()
459 << " is a decay product of Parent ID = "
460 << fStack->GetCurrentParentTrackNumber() << endl;
461 }
462 }
463}

◆ Stepping()

void Ex03dMCApplication::Stepping ( )
virtual

User actions at each step

Definition at line 466 of file Ex03dMCApplication.cxx.

467{
468 /// User actions at each step
469
470 // Work around for Fluka VMC, which does not call
471 // MCApplication::PreTrack()
472 //
473
474 static Int_t trackId = 0;
475 if (TString(gMC->GetName()) == "TFluka" &&
476 gMC->GetStack()->GetCurrentTrackNumber() != trackId) {
477 fVerbose.PreTrack();
478 trackId = gMC->GetStack()->GetCurrentTrackNumber();
479 }
480
481 fVerbose.Stepping();
482
483 fCalorimeterSD->ProcessHits();
484}

◆ PostTrack()

void Ex03dMCApplication::PostTrack ( )
virtual

User actions after finishing of each track

Definition at line 487 of file Ex03dMCApplication.cxx.

488{
489 /// User actions after finishing of each track
490
491 fVerbose.PostTrack();
492}

◆ FinishPrimary()

void Ex03dMCApplication::FinishPrimary ( )
virtual

User actions after finishing of a primary track

Definition at line 495 of file Ex03dMCApplication.cxx.

496{
497 /// User actions after finishing of a primary track
498
499 fVerbose.FinishPrimary();
500
501 if (fPrimaryGenerator->GetUserDecay()) {
502 cout << endl;
503 }
504}

◆ FinishEvent()

void Ex03dMCApplication::FinishEvent ( )
virtual

User actions after finishing of an event

Definition at line 507 of file Ex03dMCApplication.cxx.

508{
509 /// User actions after finishing of an event
510
511 fVerbose.FinishEvent();
512
513 // Geant3 + TGeo
514 // (use TGeo functions for visualization)
515 if (TString(gMC->GetName()) == "TGeant3TGeo") {
516
517 // Draw volume
518 gGeoManager->SetVisOption(0);
519 gGeoManager->SetTopVisible();
520 gGeoManager->GetTopVolume()->Draw();
521
522 // Draw tracks (if filled)
523 // Available when this feature is activated via
524 // gMC->SetCollectTracks(kTRUE);
525 if (gGeoManager->GetListOfTracks() && gGeoManager->GetTrack(0) &&
526 ((TVirtualGeoTrack*)gGeoManager->GetTrack(0))->HasPoints()) {
527
528 gGeoManager->DrawTracks("/*"); // this means all tracks
529 }
530 }
531
532 fRootManager->Fill();
533
534 if (fEventNo % fPrintModulo == 0) fCalorimeterSD->PrintTotal();
535
536 fCalorimeterSD->EndOfEvent();
537
538 fStack->Reset();
539}

◆ SetPrintModulo()

void Ex03dMCApplication::SetPrintModulo ( Int_t value)
inline

Set the event modulus number to be printed

Parameters
valueThe new event modulus number value

Definition at line 114 of file Ex03dMCApplication.h.

115{
116 fPrintModulo = value;
117}

◆ SetVerboseLevel()

void Ex03dMCApplication::SetVerboseLevel ( Int_t verboseLevel)
inline

Set verbosity

Parameters
verboseLevelThe new verbose level value

Definition at line 121 of file Ex03dMCApplication.h.

122{
123 fVerbose.SetLevel(verboseLevel);
124}

◆ SetControls()

void Ex03dMCApplication::SetControls ( Bool_t isControls)
inline

Switch on/off special process controls

Parameters
isControlsIf true, special process controls setting is activated

Definition at line 161 of file Ex03dMCApplication.h.

162{
163 fIsControls = isControls;
164}

◆ SetField()

void Ex03dMCApplication::SetField ( Double_t bz)
inline

Definition at line 128 of file Ex03dMCApplication.h.

129{
130 fMagField->SetFieldValue(0., 0., bz);
131}

◆ GetDetectorConstruction()

Ex03DetectorConstruction * Ex03dMCApplication::GetDetectorConstruction ( ) const
inline
Returns
The detector construction

Definition at line 135 of file Ex03dMCApplication.h.

136{
137 return fDetConstruction;
138}

◆ GetCalorimeterSD()

Ex03dCalorimeterSD * Ex03dMCApplication::GetCalorimeterSD ( ) const
inline
Returns
The calorimeter sensitive detector

Definition at line 141 of file Ex03dMCApplication.h.

142{
143 return fCalorimeterSD;
144}

◆ GetPrimaryGenerator()

Ex03PrimaryGenerator * Ex03dMCApplication::GetPrimaryGenerator ( ) const
inline
Returns
The primary generator

Definition at line 147 of file Ex03dMCApplication.h.

148{
149 return fPrimaryGenerator;
150}

◆ SetOldGeometry()

void Ex03dMCApplication::SetOldGeometry ( Bool_t oldGeometry = kTRUE)
inline

Switch on/off the old geometry definition (via VMC functions)

Parameters
oldGeometryIf true, geometry definition via VMC functions

Definition at line 154 of file Ex03dMCApplication.h.

155{
156 fOldGeometry = oldGeometry;
157}

◆ RegisterData()

void Ex03dMCApplication::RegisterData ( )
private

Register stack in the Root manager.

Definition at line 154 of file Ex03dMCApplication.cxx.

155{
156 /// Register stack in the Root manager.
157
158 if (fRootManager) {
159 // cout << "Ex03dMCApplication::RegisterData: " << endl;
160 fStack->Register();
161 fCalorimeterSD->Register();
162 }
163}

Member Data Documentation

◆ fRootManager

TMCRootManager* Ex03dMCApplication::fRootManager
mutableprivate

Root manager.

Definition at line 94 of file Ex03dMCApplication.h.

◆ fPrintModulo

Int_t Ex03dMCApplication::fPrintModulo
private

The event modulus number to be printed.

Definition at line 95 of file Ex03dMCApplication.h.

◆ fEventNo

Int_t Ex03dMCApplication::fEventNo
private

Event counter.

Definition at line 96 of file Ex03dMCApplication.h.

◆ fVerbose

TMCVerbose Ex03dMCApplication::fVerbose
private

VMC verbose helper.

Definition at line 97 of file Ex03dMCApplication.h.

◆ fStack

Ex03dMCStack* Ex03dMCApplication::fStack
private

VMC stack.

Definition at line 98 of file Ex03dMCApplication.h.

◆ fDetConstruction

Ex03DetectorConstruction* Ex03dMCApplication::fDetConstruction
private

Dector construction.

Definition at line 99 of file Ex03dMCApplication.h.

◆ fCalorimeterSD

Ex03dCalorimeterSD* Ex03dMCApplication::fCalorimeterSD
private

Calorimeter SD.

Definition at line 100 of file Ex03dMCApplication.h.

◆ fPrimaryGenerator

Ex03PrimaryGenerator* Ex03dMCApplication::fPrimaryGenerator
private

Primary generator.

Definition at line 101 of file Ex03dMCApplication.h.

◆ fMagField

TGeoUniformMagField* Ex03dMCApplication::fMagField
private

Magnetic field.

Definition at line 102 of file Ex03dMCApplication.h.

◆ fOldGeometry

Bool_t Ex03dMCApplication::fOldGeometry
private

Option for geometry definition.

Definition at line 103 of file Ex03dMCApplication.h.

◆ fIsControls

Bool_t Ex03dMCApplication::fIsControls
private

Option to activate special controls.

Definition at line 104 of file Ex03dMCApplication.h.

◆ fIsMaster

Bool_t Ex03dMCApplication::fIsMaster
private

If is on master thread.

Definition at line 105 of file Ex03dMCApplication.h.


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