// $Id$
// Category: event
//
+// Author: I. Hrivnacova
+//
+// Class AliStackingAction
+// -----------------------
// See the class description in the header file.
#include "AliStackingAction.h"
-#include "AliStackingActionMessenger.h"
#include "AliTrackingAction.h"
#include "AliGlobals.h"
#include <G4AntiNeutrinoMu.hh>
#include <G4AntiNeutrinoTau.hh>
+//_____________________________________________________________________________
AliStackingAction::AliStackingAction()
- : fStage(0),
- fVerboseLevel(0),
+ : AliVerbose("stackingAction"),
+ fStage(0),
fSavePrimaries(true),
- fTrackingAction(0)
+ fTrackingAction(0)
{
//
fPrimaryStack = new G4TrackStack();
- fMessenger = new AliStackingActionMessenger(this);
}
-AliStackingAction::AliStackingAction(const AliStackingAction& right) {
+//_____________________________________________________________________________
+AliStackingAction::AliStackingAction(const AliStackingAction& right)
+ : AliVerbose("stackingAction") {
//
AliGlobals::Exception("AliStackingAction is protected from copying.");
}
+//_____________________________________________________________________________
AliStackingAction::~AliStackingAction() {
//
delete fPrimaryStack;
- delete fMessenger;
}
// operators
+//_____________________________________________________________________________
AliStackingAction&
AliStackingAction::operator=(const AliStackingAction &right)
{
// public methods
+//_____________________________________________________________________________
G4ClassificationOfNewTrack
AliStackingAction::ClassifyNewTrack(const G4Track* track)
{
// (secondary particles are stored
// by AlTrackingAction::PreUserTrackingAction() method)
if (fSavePrimaries)
- fTrackingAction->SaveParticle(track, "primary");
+ fTrackingAction->SaveTrack(track);
}
else {
// exclude neutrinos
return fKill;
}
-
+
G4int parentID = track->GetParentID();
if (parentID ==0) {
return fUrgent;
return classification;
}
+//_____________________________________________________________________________
void AliStackingAction::NewStage()
{
// Called by G4 kernel at the new stage of stacking.
// ---
fStage++;
- if (fVerboseLevel>0)
- {
+
+ if (VerboseLevel() > 1) {
G4cout << "AliStackingAction::NewStage " << fStage
<< " has been started." << G4endl;
}
}
}
-void AliStackingAction::ClearPrimaryStack()
-{
-// Clears the primary stack.
-// ---
-
- stackManager->ClearPostponeStack();
-}
-
+//_____________________________________________________________________________
void AliStackingAction::PrepareNewEvent()
{
// Called by G4 kernel at the beginning of event.
// ---
fStage = 0;
- ClearPrimaryStack();
+ //stackManager->ClearPostponeStack();
+ stackManager->ResetPostponeStack();
fTrackingAction = AliTrackingAction::Instance();
- fSavePrimaries = fTrackingAction->GetSavePrimaries();
+ if (fTrackingAction)
+ fSavePrimaries = fTrackingAction->GetSavePrimaries();
+ else
+ fSavePrimaries = false;
}