#include <TTree.h>
#include <TSystem.h>
#include <TDirectory.h>
+#include <TVirtualMC.h>
#include "AliConfig.h"
#include "AliLoader.h"
#include "AliModule.h"
#include "AliRun.h"
#include "AliTrackReference.h"
+#include "AliMC.h"
ClassImp(AliModule)
fEnable(1),
fTrackReferences(0),
fMaxIterTrackRef(0),
- fCurrentIterTrackRef(0)
+ fCurrentIterTrackRef(0),
+ fRunLoader(0)
{
//
// Default constructor for the AliModule class
fEnable(1),
fTrackReferences(new TClonesArray("AliTrackReference", 100)),
fMaxIterTrackRef(0),
- fCurrentIterTrackRef(0)
+ fCurrentIterTrackRef(0),
+ fRunLoader(0)
{
//
// Normal constructor invoked by all Modules.
fEnable(0),
fTrackReferences(0),
fMaxIterTrackRef(0),
- fCurrentIterTrackRef(0)
+ fCurrentIterTrackRef(0),
+ fRunLoader(0)
{
//
// Copy constructor
}
//_______________________________________________________________________
-void AliModule::Copy(AliModule & /* mod */) const
+void AliModule::Copy(TObject & /* mod */) const
{
//
// Copy *this onto mod, not implemented for AliModule
}
}
-//_______________________________________________________________________
-Int_t AliModule::DistancetoPrimitive(Int_t, Int_t) const
-{
- //
- // Return distance from mouse pointer to object
- // Dummy routine for the moment
- //
- return 9999;
-}
-
//_______________________________________________________________________
void AliModule::Enable()
{
if (ref) {
Int_t newID = map[ref->GetTrack()];
if (newID>=0) ref->SetTrack(newID);
- else ref->SetTrack(-1);
-
+ else {
+ //ref->SetTrack(-1);
+ ref->SetBit(kNotDeleted,kFALSE);
+ fTrackReferences->RemoveAt(i);
+ }
}
}
+ fTrackReferences->Compress();
+
}
//
if(track>=0)
{
- AliRunLoader* rl = AliRunLoader::GetRunLoader();
-
- rl->GetAliRun()->ResetTrackReferences();
- rl->TreeTR()->GetEvent(track);
- if (rl == 0x0)
+ if (fRunLoader == 0x0)
Fatal("FirstTrackReference","AliRunLoader not initialized. Can not proceed");
+ fRunLoader->GetAliRun()->GetMCApp()->ResetTrackReferences();
+ fRunLoader->TreeTR()->GetEvent(track);
}
//
fMaxIterTrackRef = fTrackReferences->GetEntriesFast();
//_____________________________________________________________________________
-AliLoader* AliModule::MakeLoader(const char* topfoldername)
+AliLoader* AliModule::MakeLoader(const char* /*topfoldername*/)
{
return 0x0;
}//skowron
branch = treeTR->GetBranch(GetName());
if (branch)
{
- if(GetDebug()) Info("SetTreeAddress","(%s) Setting for TrackRefs",GetName());
+ if(GetDebug())
+ Info("SetTreeAddress","(%s) Setting for TrackRefs",GetName());
branch->SetAddress(&fTrackReferences);
}
else
- {
- Warning("SetTreeAddress","(%s) Failed for Track References. Can not find branch in tree.",GetName());
+ {
+ //can be called before MakeBranch and than does not make sense to issue the warning
+ if(GetDebug())
+ Warning("SetTreeAddress",
+ "(%s) Failed for Track References. Can not find branch in tree.",
+ GetName());
}
}
}
//_____________________________________________________________________________
-void AliModule::MakeBranchTR(Option_t *option)
+void AliModule::MakeBranchTR(Option_t */*option*/)
{
//
// Makes branch in treeTR
//_____________________________________________________________________________
TTree* AliModule::TreeTR()
{
- AliRunLoader* rl = AliRunLoader::GetRunLoader();
-
- if ( rl == 0x0)
+ if ( fRunLoader == 0x0)
{
Error("TreeTR","Can not get the run loader");
return 0x0;
}
- TTree* tree = rl->TreeTR();
+ TTree* tree = fRunLoader->TreeTR();
return tree;
}