|Message: Re: Doubt reg C++ statement||Not Logged In (login)|
Click on the Forum title, e.g. on the "Forums by Category" page, to read a sequence of postings to the Forum and its threads all in one page. If you are only interested in one thread or the thread following a specific posting, click the thread or the posting, which takes you to a smaller page, which contains only the part you are interested in and may be easier to navigate.
Messages are "chained" if there are only replies at the first level, i.e. 1/1.html, 1/1/1.html etc. In case of "chained" messages the message number is replaced by the icon and there is no indentation.
Inline: Display the subject line only or also the text of the posting(s); for the choice "All" the "Outline" choices are switched off.
|1||0||1||no text / full text of posting|
|2||1||All||text for level 1 only / text for All postings|
Outline: Choose the depth of the posting thread, successive toggle controls provide increasing detail.
|1||2||1||2 levels / 1 level (original posting)|
|2||3||2||3 levels / 2 levels|
|3||3||All||3 levels / all levels (all postings)|
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 : G4RunManager::GetRunManager() - 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 ) Cheers, Marc 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 hypernews.slac.stanford.edu message (to reply or unsubscribe) at: > http://hypernews.slac.stanford.edu/HyperNews/geant4/get/runmanage/389.html