/* History of cvs commits:
*
* $Log$
+ * Revision 1.24 2006/11/14 17:11:15 hristov
+ * Removing inheritances from TAttLine, TAttMarker and AliRndm in AliModule. The copy constructor and assignment operators are moved to the private part of the class and not implemented. The corresponding changes are propagated to the detectors
+ *
* Revision 1.23 2006/09/13 07:31:01 kharlov
* Effective C++ corrections (T.Pocheptsov)
*
// --- ROOT system ---
//#include <TTree.h>
+#include <TClonesArray.h>
#include <TVirtualMC.h>
+#include <TTree.h>
// --- Standard library ---
#include "AliPHOSImpact.h"
#include "AliPHOSvImpacts.h"
#include "AliRun.h"
+#include "AliLoader.h"
#include "AliMC.h"
#include "AliLog.h"
//____________________________________________________________________________
AliPHOSvImpacts::AliPHOSvImpacts():
- fEMCImpacts(0),
- fCPVImpacts(0),
- fPPSDImpacts(0)
+ fEMCImpacts(new TList),
+ fCPVImpacts(new TList),
+ fPPSDImpacts(new TList),
+ fNEMCImpacts(),
+ fNCPVImpacts(),
+ fNPPSDImpacts()
{
// ctor
}
AliPHOSv1(name,title),
fEMCImpacts(new TList),
fCPVImpacts(new TList),
- fPPSDImpacts(0)
+ fPPSDImpacts(0),
+ fNEMCImpacts(),
+ fNCPVImpacts(),
+ fNPPSDImpacts()
{
// ctor : title is used to identify the layout
//
nImpacts= fNCPVImpacts[module];
fNCPVImpacts[module]++ ;
}
+ else
+ AliFatal(Form("Wrong PHOS configuration: det=%s",det));
new((*impacts)[nImpacts]) AliPHOSImpact(shunt,primary,track,pid,p,xyz) ;
AliDebugClass(1,Form("Module %d %s: ",module,det));
if (AliLog::GetGlobalDebugLevel()>0)
- (dynamic_cast<AliPHOSImpact*>((impacts->At(nImpacts))))->Print();
+ (static_cast<AliPHOSImpact*>((impacts->At(nImpacts))))->Print();
}
//____________________________________________________________________________
Int_t bufferSize = 32000 ;
Int_t splitlevel = 0 ;
- TreeH()->Branch("PHOSEmcImpacts" , "TList", &fEMCImpacts , bufferSize, splitlevel);
- TreeH()->Branch("PHOSCpvImpacts" , "TList", &fCPVImpacts , bufferSize, splitlevel);
+ fLoader->TreeH()->Branch("PHOSEmcImpacts" , "TList", &fEMCImpacts , bufferSize, splitlevel);
+ fLoader->TreeH()->Branch("PHOSCpvImpacts" , "TList", &fCPVImpacts , bufferSize, splitlevel);
}
Int_t i;
for (i=0; i<GetGeometry()->GetNModules(); i++) {
- (dynamic_cast<TClonesArray*>(fEMCImpacts->At(i))) -> Clear();
+ (static_cast<TClonesArray*>(fEMCImpacts->At(i))) -> Clear();
fNEMCImpacts[i] = 0 ;
}
for (i=0; i<GetGeometry()->GetNModules(); i++) {
- (dynamic_cast<TClonesArray*>(fCPVImpacts->At(i))) -> Clear();
+ (static_cast<TClonesArray*>(fCPVImpacts->At(i))) -> Clear();
fNCPVImpacts[i] = 0 ;
}
// Add impact to EMC
- static Int_t idPXTL = gMC->VolId("PXTL");
- if( gMC->CurrentVolID(copy) == idPXTL &&
- gMC->IsTrackEntering() ) {
- gMC->TrackMomentum(pmom);
- gMC->TrackPosition(pos) ;
+ static Int_t idPXTL = TVirtualMC::GetMC()->VolId("PXTL");
+ if( TVirtualMC::GetMC()->CurrentVolID(copy) == idPXTL &&
+ TVirtualMC::GetMC()->IsTrackEntering() ) {
+ TVirtualMC::GetMC()->TrackMomentum(pmom);
+ TVirtualMC::GetMC()->TrackPosition(pos) ;
Int_t i;
for (i=0; i<3; i++) xyzm[i] = pos[i];
xyzm[i] = pos[i] ;
pm[i] = pmom[i];
}
- gMC -> Gmtod (xyzm, xyzd, 1); // transform coordinate from master to daughter system
- gMC -> Gmtod (pm, pd, 2); // transform 3-momentum from master to daughter system
+ TVirtualMC::GetMC() -> Gmtod (xyzm, xyzd, 1); // transform coordinate from master to daughter system
+ TVirtualMC::GetMC() -> Gmtod (pm, pd, 2); // transform 3-momentum from master to daughter system
// Select tracks coming to the crystal from up or down sides
- if (pd[1]<0 && xyzd[1] > GetGeometry()->GetCrystalSize(1)/2-0.1 ||
- pd[1]>0 && xyzd[1] < -GetGeometry()->GetCrystalSize(1)/2+0.1) {
+ if ((pd[1]<0 && xyzd[1] > GetGeometry()->GetCrystalSize(1)/2-0.1) ||
+ (pd[1]>0 && xyzd[1] < -GetGeometry()->GetCrystalSize(1)/2+0.1)) {
// Select tracks coming to the crystal from up or down sides
- Int_t pid = gMC->TrackPid();
+ Int_t pid = TVirtualMC::GetMC()->TrackPid();
Int_t module;
- gMC->CurrentVolOffID(10,module);
+ TVirtualMC::GetMC()->CurrentVolOffID(10,module);
module--;
AddImpact("EMC ",fIshunt, primary,tracknumber, module, pid, pmom, xyzm);
}
// Add impact to CPV
- static Int_t idPCPQ = gMC->VolId("PCPQ");
- if( gMC->CurrentVolID(copy) == idPCPQ &&
- gMC->IsTrackEntering() ) {
- gMC->TrackMomentum(pmom);
- gMC->TrackPosition(pos) ;
+ static Int_t idPCPQ = TVirtualMC::GetMC()->VolId("PCPQ");
+ if( TVirtualMC::GetMC()->CurrentVolID(copy) == idPCPQ &&
+ TVirtualMC::GetMC()->IsTrackEntering() ) {
+ TVirtualMC::GetMC()->TrackMomentum(pmom);
+ TVirtualMC::GetMC()->TrackPosition(pos) ;
Int_t i;
for (i=0; i<3; i++) xyzm[i] = pos[i];
xyzm[i] = pos[i] ;
pm[i] = pmom[i];
}
- Int_t pid = gMC->TrackPid();
+ Int_t pid = TVirtualMC::GetMC()->TrackPid();
Int_t module;
- gMC->CurrentVolOffID(3,module);
+ TVirtualMC::GetMC()->CurrentVolOffID(3,module);
module--;
AddImpact("CPV ",fIshunt, primary,tracknumber, module, pid, pmom, xyzm);
}