// $Id$
// Category: physics
//
+// Author: I. Hrivnacova
+//
+// Class TG4ExtDecayer
+// -------------------
// See the class description in the header file.
#include "AliDecayer.h"
#include <math.h>
-// constructor
+//_____________________________________________________________________________
TG4ExtDecayer::TG4ExtDecayer(AliDecayer* externalDecayer)
: G4VExtDecayer("TG4ExtDecayer"),
- fExternalDecayer(externalDecayer),
- fVerboseLevel(0) {
+ TG4Verbose("extDecayer"),
+ fExternalDecayer(externalDecayer) {
//
fDecayProductsArray = new TClonesArray("TParticle", 1000);
fParticlesManager = TG4ParticlesManager::Instance();
}
+//_____________________________________________________________________________
+TG4ExtDecayer::TG4ExtDecayer(const TG4ExtDecayer& right)
+ : TG4Verbose("extDecayer") {
+//
+ TG4Globals::Exception(
+ "TG4ExtDecayer is protected from copying.");
+}
+
+//_____________________________________________________________________________
TG4ExtDecayer::~TG4ExtDecayer() {
//
delete fDecayProductsArray;
}
+
+// operators
+
+//_____________________________________________________________________________
+TG4ExtDecayer& TG4ExtDecayer::operator=(const TG4ExtDecayer& right)
+{
+ // check assignement to self
+ if (this == &right) return *this;
+
+ TG4Globals::Exception(
+ "TG4ExtDecayer is protected from assigning.");
+
+ return *this;
+}
+
// public methods
+//_____________________________________________________________________________
G4DecayProducts* TG4ExtDecayer::ImportDecayProducts(const G4Track& track)
{
// check if external decayer is defined
G4int nofParticles
= fExternalDecayer->ImportParticles(fDecayProductsArray);
- if (fVerboseLevel>0)
+ if (VerboseLevel()>1) {
G4cout << "nofParticles: " << nofParticles << G4endl;
+ }
// convert decay products TParticle type
// to G4DecayProducts
// pass to tracking final particles only;
// skip neutrinos
- if (fVerboseLevel>0)
+ if (VerboseLevel()>1) {
G4cout << " " << i << "th particle PDG: " << pdg << " ";
+ }
// create G4DynamicParticle
G4DynamicParticle* dynamicParticle
if (dynamicParticle) {
- if (fVerboseLevel>0)
+ if (VerboseLevel()>1) {
G4cout << " G4 particle name: "
<< dynamicParticle->GetDefinition()->GetParticleName()
<< G4endl;
+ }
// add dynamicParticle to decayProducts
decayProducts->PushProducts(dynamicParticle);
}
}
}
- if (fVerboseLevel>0)
+ if (VerboseLevel()>1) {
G4cout << "nofParticles for tracking: " << counter << G4endl;
+ }
return decayProducts;
}