Message: Re: Doubt reg C++ statement Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

None Re: Doubt reg C++ statement 

Forum: Run Management
Re: Question Doubt reg C++ statement (Shivang Tripathi)
Date: 20 Feb, 2015
From: Marc Verderi <Marc Verderi>

This is a quite compact line, the idea of it is to get the pointer of 
the current "Run" object (Run is a class).

The issue is that class "Run" inherits from the "G4Run" class. The call 
G4RunManager::GetRunManager()->GetNonConstCurrentRun() returns a "G4Run" 
pointer, but in the UserAction code, you need the "Run" pointer, which 
extends and has more methods than G4Run. The static_cast<Run*>(...) does 
the conversion of a G4Run* to a Run* one.

Maybe your question is also about G4RunManager::GetRunManager() ? 
G4RunManager is a singleton : only one instance of it is created in 
memory. To get the pointer of this unique object, the G4RunManager 
provides the static method GetRunManager(). So 
G4RunManager::GetRunManager() returns a G4RunManager* .

So, what does this line is:
     - getting the unique run manager pointer : 
     - on this pointer call the GetNonConstCurrentRun() method, which 
returns a G4Run* , let's call it currentG4run
     - convert the G4Run* to a Run* with static_cast<Run*>( currentG4run )


On 02/20/2015 10:50 AM, Shivang Tripathi wrote:
> *** Discussion title: Run Management
> Dear All,
> I am not able to understand the concept of following line used in UserAction classes.
> Run* run = static_cast<Run*>(
>          G4RunManager::GetRunManager()->GetNonConstCurrentRun());
> Please explain the functionality of above kind of statement.
> Regards Shivang
> -------------------------------------------------------------
> Visit this GEANT4 at message (to reply or unsubscribe) at:

 Add Message Add Message
to: "Re: Doubt reg C++ statement"

 Subscribe Subscribe

This site runs SLAC HyperNews version 1.11-slac-98, derived from the original HyperNews

[ Geant 4 Home | Geant 4 HyperNews | Search | Request New Forum | Feedback ]