X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=AliGeant4%2FAliEventAction.cxx;h=57c8a1c6ab8e29c081199165939934ccb5f8ed8d;hb=9010b535962d0a65af3407e2f968e9ce9e653d32;hp=290a2fc57b05bbc2ba9ff31bf5a2c63362f083b6;hpb=03b03ccbf49c7ad7f7eab86400d56b5f427f8571;p=u%2Fmrichter%2FAliRoot.git diff --git a/AliGeant4/AliEventAction.cxx b/AliGeant4/AliEventAction.cxx index 290a2fc57b0..57c8a1c6ab8 100644 --- a/AliGeant4/AliEventAction.cxx +++ b/AliGeant4/AliEventAction.cxx @@ -1,6 +1,10 @@ // $Id$ // Category: event // +// Author: I. Hrivnacova +// +// Class AliEventAction +// --------------------- // See the class description in the header file. #include @@ -8,10 +12,10 @@ // times system function this include must be the first #include "AliEventAction.h" -#include "AliEventActionMessenger.h" #include "AliTrackingAction.h" #include "AliGlobals.h" #include "AliRun.h" +#include "AliHeader.h" #include #include @@ -19,28 +23,33 @@ #include #include +//_____________________________________________________________________________ AliEventAction::AliEventAction() - : fVerboseLevel(1), + : AliVerbose("eventAction"), + fMessenger(this), fDrawFlag("CHARGED") { // - fMessenger = new AliEventActionMessenger(this); fTimer = new G4Timer(); } -AliEventAction::AliEventAction(const AliEventAction& right) { +//_____________________________________________________________________________ +AliEventAction::AliEventAction(const AliEventAction& right) + : AliVerbose(""), + fMessenger(this) { // AliGlobals::Exception("AliEventAction is protected from copying."); } +//_____________________________________________________________________________ AliEventAction::~AliEventAction() { // - delete fMessenger; delete fTimer; } // operators +//_____________________________________________________________________________ AliEventAction& AliEventAction::operator=(const AliEventAction &right) { // check assignement to self @@ -53,31 +62,28 @@ AliEventAction& AliEventAction::operator=(const AliEventAction &right) // private methods +//_____________________________________________________________________________ void AliEventAction::DisplayEvent(const G4Event* event) const { // Draws trajectories. // --- - // trajectories processing - G4TrajectoryContainer* trajectoryContainer - = event->GetTrajectoryContainer(); + if (G4VVisManager::GetConcreteInstance()) { - G4int nofTrajectories = 0; - if (trajectoryContainer) - { nofTrajectories = trajectoryContainer->entries(); } - - if (fVerboseLevel>0 && nofTrajectories>0) { - G4cout << " " << nofTrajectories; - G4cout << " trajectories stored." << G4endl; - } + // trajectories processing + G4TrajectoryContainer* trajectoryContainer + = event->GetTrajectoryContainer(); - G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance(); - if(pVVisManager && nofTrajectories>0) - { - G4UImanager::GetUIpointer()->ApplyCommand("/vis~/draw/current"); + G4int nofTrajectories = 0; + if (trajectoryContainer) + nofTrajectories = trajectoryContainer->entries(); + + if (VerboseLevel() > 0 && nofTrajectories > 0) { + G4cout << " " << nofTrajectories; + G4cout << " trajectories stored." << G4endl; + } - for (G4int i=0; iGetTrajectoryContainer()))[i]; G4Trajectory* trajectory = dynamic_cast(vtrajectory); if (!trajectory) { @@ -91,12 +97,12 @@ void AliEventAction::DisplayEvent(const G4Event* event) const // use 2000 to make step points well visible } } - G4UImanager::GetUIpointer()->ApplyCommand("/vis~/show/view"); - } + } } // public methods +//_____________________________________________________________________________ void AliEventAction::BeginOfEventAction(const G4Event* event) { // Called by G4 kernel at the beginning of event. @@ -105,14 +111,17 @@ void AliEventAction::BeginOfEventAction(const G4Event* event) G4int eventID = event->GetEventID(); // reset the tracks counters - AliTrackingAction::Instance()->PrepareNewEvent(); + if(AliTrackingAction::Instance()) + AliTrackingAction::Instance()->PrepareNewEvent(); - if (fVerboseLevel>0) + if (VerboseLevel() > 0) { G4cout << ">>> Event " << event->GetEventID() << G4endl; + } fTimer->Start(); } +//_____________________________________________________________________________ void AliEventAction::EndOfEventAction(const G4Event* event) { // Called by G4 kernel at the end of event. @@ -120,21 +129,27 @@ void AliEventAction::EndOfEventAction(const G4Event* event) // finish the last primary track of the current event AliTrackingAction* trackingAction = AliTrackingAction::Instance(); - trackingAction->FinishPrimaryTrack(); + if (trackingAction) trackingAction->FinishPrimaryTrack(); + + if (VerboseLevel() > 0) { + G4cout << G4endl; + G4cout << ">>> End of Event " << event->GetEventID() << G4endl; + } - // verbose output - if (fVerboseLevel>0) { + if (VerboseLevel() > 1) { //G4int nofPrimaryTracks = trackingAction->GetNofPrimaryTracks(); G4int nofPrimaryTracks = gAlice->GetHeader()->GetNprimary(); G4int nofSavedTracks = gAlice->GetNtrack(); - G4int nofAllTracks = trackingAction->GetNofTracks(); - + G4cout << " " << nofPrimaryTracks << " primary tracks processed." << G4endl; G4cout << " " << nofSavedTracks << " tracks saved." << G4endl; - G4cout << " " << nofAllTracks << - " all tracks processed." << G4endl; + if (trackingAction) { + G4int nofAllTracks = trackingAction->GetNofTracks(); + G4cout << " " << nofAllTracks << + " all tracks processed." << G4endl; + } } // display event @@ -143,7 +158,7 @@ void AliEventAction::EndOfEventAction(const G4Event* event) // aliroot finish event gAlice->FinishEvent(); - if (fVerboseLevel>0) { + if (VerboseLevel() > 1) { // print time fTimer->Stop(); G4cout << "Time of this event: " << *fTimer << G4endl;