AliError("Energy digitization should be OFF if use Digits2Raw") ;
}
- AliPHOSLoader * loader = dynamic_cast<AliPHOSLoader*>(fLoader) ;
+ AliPHOSLoader * loader = static_cast<AliPHOSLoader*>(fLoader) ;
// get the digits
loader->LoadDigits();
// loop over digits (assume ordered digits)
for (Int_t iDigit = 0; iDigit < digits->GetEntries(); iDigit++) {
- AliPHOSDigit* digit = dynamic_cast<AliPHOSDigit *>(digits->At(iDigit)) ;
+ AliPHOSDigit* digit = static_cast<AliPHOSDigit *>(digits->At(iDigit)) ;
// Skip small energy below treshold
if (digit->GetEnergy() < kThreshold)
Bool_t AliPHOS::Raw2SDigits(AliRawReader* rawReader)
{
- AliPHOSLoader * loader = dynamic_cast<AliPHOSLoader*>(fLoader) ;
+ AliPHOSLoader * loader = static_cast<AliPHOSLoader*>(fLoader) ;
TTree * tree = 0 ;
tree = loader->TreeS() ;
hitref = HitsRef();
}
- TClonesArray* hits = dynamic_cast<TClonesArray*>(*hitref);
+ TClonesArray* hits = static_cast<TClonesArray*>(*hitref);
TTree* treeh = TreeH();
return 0;
}
- branch->SetAddress(SDigitsRef());
+ branch->SetAddress(sdref);
branch->GetEntry(0);
return 0;
}
}
Int_t ii ;
- Int_t maxemc = emca->GetEntries() ;
- for ( ii= 0 ; ii < maxemc ; ii++ )
- EmcRecPoints()->Add(emca->At(ii)) ;
-
- Int_t maxcpv = cpva->GetEntries() ;
- for ( ii= 0 ; ii < maxcpv ; ii++ )
- CpvRecPoints()->Add(cpva->At(ii)) ;
+ if (emca != 0) {
+ Int_t maxemc = emca->GetEntries() ;
+ for ( ii= 0 ; ii < maxemc ; ii++ )
+ EmcRecPoints()->Add(emca->At(ii)) ;
+ }
+
+ if (cpva != 0) {
+ Int_t maxcpv = cpva->GetEntries() ;
+ for ( ii= 0 ; ii < maxcpv ; ii++ )
+ CpvRecPoints()->Add(cpva->At(ii)) ;
+ }
return retval;
}
if (caloFlag == AliCaloRawStreamV3::kLowGain) {
new((*tmpDigLG)[ilgDigit]) AliPHOSDigit(-1,absId,(Float_t)energy,(Float_t)time);
if (sigLength>0 && fADCValuesLG!=0)
- dynamic_cast<AliPHOSDigit*>(tmpDigLG->At(ilgDigit))->SetALTROSamplesLG(sigLength,fADCValuesLG);
+ static_cast<AliPHOSDigit*>(tmpDigLG->At(ilgDigit))->SetALTROSamplesLG(sigLength,fADCValuesLG);
ilgDigit++ ;
}
else if (caloFlag == AliCaloRawStreamV3::kHighGain) {
else
new((*digits)[iDigit]) AliPHOSDigit(-1,absId,(Float_t)energy,(Float_t)time);
if (sigLength>0 && fADCValuesHG!=0)
- dynamic_cast<AliPHOSDigit*>(digits->At(iDigit))->SetALTROSamplesHG(sigLength,fADCValuesHG);
+ static_cast<AliPHOSDigit*>(digits->At(iDigit))->SetALTROSamplesHG(sigLength,fADCValuesHG);
iDigit++;
}
} // End of NextChannel()
// Get the number of primaries at the origine of the RecParticle
Int_t rv = 0 ;
AliRunLoader* rl = AliRunLoader::Instance() ;
- AliPHOSLoader * phosLoader = dynamic_cast<AliPHOSLoader*>(rl->GetLoader("PHOSLoader"));
- Int_t emcRPindex = dynamic_cast<AliPHOSTrackSegment*>(phosLoader->TrackSegments()->At(GetPHOSTSIndex()))->GetEmcIndex();
- dynamic_cast<AliPHOSEmcRecPoint*>(phosLoader->EmcRecPoints()->At(emcRPindex))->GetPrimaries(rv) ;
+ AliPHOSLoader * phosLoader = static_cast<AliPHOSLoader*>(rl->GetLoader("PHOSLoader"));
+ Int_t emcRPindex = static_cast<AliPHOSTrackSegment*>(phosLoader->TrackSegments()->At(GetPHOSTSIndex()))->GetEmcIndex();
+ static_cast<AliPHOSEmcRecPoint*>(phosLoader->EmcRecPoints()->At(emcRPindex))->GetPrimaries(rv) ;
return rv ;
}
// Get the primary particle at the origine of the RecParticle and
// which has deposited the largest energy in SDigits
AliRunLoader* rl = AliRunLoader::Instance() ;
- AliPHOSLoader * phosLoader = dynamic_cast<AliPHOSLoader*>(rl->GetLoader("PHOSLoader"));
+ AliPHOSLoader * phosLoader = static_cast<AliPHOSLoader*>(rl->GetLoader("PHOSLoader"));
rl->GetEvent(rl->GetEventNumber()) ;
rl->LoadKinematics("READ");
rl->LoadSDigits("READ");
AliRunLoader* rl = AliRunLoader::Instance() ;
- AliPHOSLoader * phosLoader = dynamic_cast<AliPHOSLoader*>(rl->GetLoader("PHOSLoader"));
+ AliPHOSLoader * phosLoader = static_cast<AliPHOSLoader*>(rl->GetLoader("PHOSLoader"));
rl->GetEvent(rl->GetEventNumber()) ;
rl->LoadHits("READ");
rl->LoadDigits("READ");
else {
Int_t dummy ;
AliRunLoader* rl = AliRunLoader::Instance() ;
- AliPHOSLoader * phosLoader = dynamic_cast<AliPHOSLoader*>(rl->GetLoader("PHOSLoader"));
+ AliPHOSLoader * phosLoader = static_cast<AliPHOSLoader*>(rl->GetLoader("PHOSLoader"));
- Int_t emcRPindex = dynamic_cast<AliPHOSTrackSegment*>(phosLoader->TrackSegments()->At(GetPHOSTSIndex()))->GetEmcIndex();
- Int_t primaryindex = dynamic_cast<AliPHOSEmcRecPoint*>(phosLoader->EmcRecPoints()->At(emcRPindex))->GetPrimaries(dummy)[index] ;
+ Int_t emcRPindex = static_cast<AliPHOSTrackSegment*>(phosLoader->TrackSegments()->At(GetPHOSTSIndex()))->GetEmcIndex();
+ Int_t primaryindex = static_cast<AliPHOSEmcRecPoint*>(phosLoader->EmcRecPoints()->At(emcRPindex))->GetPrimaries(dummy)[index] ;
return rl->Stack()->Particle(primaryindex) ;
}
// return 0 ;
//########################################
for (Int_t recpart = 0 ; recpart < nOfRecParticles ; recpart++) {
- AliPHOSRecParticle *rp = dynamic_cast<AliPHOSRecParticle*>(recParticles->At(recpart));
+ AliPHOSRecParticle *rp = static_cast<AliPHOSRecParticle*>(recParticles->At(recpart));
if (Debug())
rp->Print();
// Get track segment and EMC rec.point associated with this rec.particle
//First EMC clusters
Int_t totalEmc = fEMCRecPoints->GetEntriesFast() ;
for(fEmcFirst = fEmcLast; (fEmcLast < totalEmc) &&
- ((dynamic_cast<AliPHOSRecPoint *>(fEMCRecPoints->At(fEmcLast)))->GetPHOSMod() == fModule );
+ ((static_cast<AliPHOSRecPoint *>(fEMCRecPoints->At(fEmcLast)))->GetPHOSMod() == fModule );
fEmcLast ++) ;
//Now CPV clusters
Int_t totalCpv = fCPVRecPoints->GetEntriesFast() ;
for(fCpvFirst = fCpvLast; (fCpvLast < totalCpv) &&
- ((dynamic_cast<AliPHOSRecPoint *>(fCPVRecPoints->At(fCpvLast)))->GetPHOSMod() == fModule );
+ ((static_cast<AliPHOSRecPoint *>(fCPVRecPoints->At(fCpvLast)))->GetPHOSMod() == fModule );
fCpvLast ++) ;
}
}
- if(trackindex>=0)
+ if(trackindex>=0) {
AliDebug(1,Form("\t\tBest match for (xClu,zClu,eClu)=(%.3f,%.3f,%.3f): iTrack=%d, dR=%.3f",
locClu.X(),locClu.Z(),emcClu->GetEnergy(),
trackindex,TMath::Sqrt(dx*dx+dz*dz)));
- return;
+ return;
+ }
Float_t distance2Track = fRtpc ;
Float_t dx,dz ;
linkUp->GetXZ(dx,dz) ;
new ((* fTrackSegments)[fNTrackSegments])
- AliPHOSTrackSegment(dynamic_cast<AliPHOSEmcRecPoint *>(fEMCRecPoints->At(linkUp->GetEmc())) ,
- dynamic_cast<AliPHOSCpvRecPoint *>(fCPVRecPoints->At(linkUp->GetCpv())) ,
+ AliPHOSTrackSegment(static_cast<AliPHOSEmcRecPoint *>(fEMCRecPoints->At(linkUp->GetEmc())) ,
+ static_cast<AliPHOSCpvRecPoint *>(fCPVRecPoints->At(linkUp->GetCpv())) ,
linkUp->GetTrack(),dx,dz) ;
(dynamic_cast<AliPHOSTrackSegment *>(fTrackSegments->At(fNTrackSegments)))->SetIndexInList(fNTrackSegments);
Int_t itru = (row-1) + (col-1)*fNTRUPhi + (relid[0]-1)*fNTRU ;
//Fill TRU matrix with crystal values
- TMatrixD * amptrus = dynamic_cast<TMatrixD *>(fAmptrus ->At(itru)) ;
- TMatrixD * timeRtrus = dynamic_cast<TMatrixD *>(fTimeRtrus->At(itru)) ;
+ TMatrixD * amptrus = static_cast<TMatrixD *>(fAmptrus ->At(itru)) ;
+ TMatrixD * timeRtrus = static_cast<TMatrixD *>(fTimeRtrus->At(itru)) ;
//Calculate row and column of the crystal inside the TRU with number itru
Int_t irow = (relid[2]-1) - (row-1) * fNCrystalsPhi;
(*timeRtrus)(irow,icol) = timeR ;
//####################MODULE MATRIX ##################
- TMatrixD * ampmods = dynamic_cast<TMatrixD *>(fAmpmods->At(relid[0]-1)) ;
+ TMatrixD * ampmods = static_cast<TMatrixD *>(fAmpmods->At(relid[0]-1)) ;
(*ampmods)(relid[2]-1,relid[3]-1) = amp ;
}
}
Int_t rowborder = 0;
if(fIsolateInModule){
- ampmatrix = dynamic_cast<TMatrixD *>(fAmpmods->At(imod)) ;
+ ampmatrix = static_cast<TMatrixD *>(fAmpmods->At(imod)) ;
rowborder = fNCrystalsPhi*fNTRUPhi;
colborder = fNCrystalsZ*fNTRUZ;
AliDebug(2,"Isolate trigger in Module");
}
else{
- ampmatrix = dynamic_cast<TMatrixD *>(fAmptrus->At(itru)) ;
+ ampmatrix = static_cast<TMatrixD *>(fAmptrus->At(itru)) ;
rowborder = fNCrystalsPhi;
colborder = fNCrystalsZ;
AliDebug(2,"Isolate trigger in TRU");
//Loop over all TRUS in a module
for(Int_t itru = 0 + imod * fNTRU ; itru < (imod+1)*fNTRU ; itru++){
- TMatrixD * amptru = dynamic_cast<TMatrixD *>(fAmptrus ->At(itru)) ;
- TMatrixD * timeRtru = dynamic_cast<TMatrixD *>(fTimeRtrus->At(itru)) ;
+ TMatrixD * amptru = static_cast<TMatrixD *>(fAmptrus ->At(itru)) ;
+ TMatrixD * timeRtru = static_cast<TMatrixD *>(fTimeRtrus->At(itru)) ;
Int_t mtru = itru-imod*fNTRU ; //Number of TRU in Module
//Sliding 2x2, add 2x2 amplitudes (NOT OVERLAP)
// does the trigger job
AliRunLoader* rl = AliRunLoader::Instance() ;
- AliPHOSLoader * phosLoader = dynamic_cast<AliPHOSLoader*>(rl->GetLoader("PHOSLoader"));
+ AliPHOSLoader * phosLoader = static_cast<AliPHOSLoader*>(rl->GetLoader("PHOSLoader"));
// Get PHOS Geometry object
AliPHOSGeometry *geom;
newHit = new AliPHOSHit(shunt, primary, Id, hits) ;
for ( hitCounter = fNhits-1 ; hitCounter >= 0 && !deja ; hitCounter-- ) {
- curHit = dynamic_cast<AliPHOSHit*>((*fHits)[hitCounter]) ;
+ curHit = static_cast<AliPHOSHit*>((*fHits)[hitCounter]) ;
if(curHit->GetPrimary() != primary) break ;
// We add hits with the same primary, while GEANT treats primaries succesively
if( *curHit == *newHit ) {
ndigits = fCPVDigits.GetEntriesFast();
for (idigit=0; idigit<ndigits-1; idigit++) {
- AliPHOSCPVDigit *cpvDigit1 = dynamic_cast<AliPHOSCPVDigit*>(fCPVDigits.UncheckedAt(idigit));
+ AliPHOSCPVDigit *cpvDigit1 = static_cast<AliPHOSCPVDigit*>(fCPVDigits.UncheckedAt(idigit));
Float_t x1 = cpvDigit1->GetXpad() ;
Float_t z1 = cpvDigit1->GetYpad() ;
for (Int_t jdigit=idigit+1; jdigit<ndigits; jdigit++) {
- AliPHOSCPVDigit *cpvDigit2 = dynamic_cast<AliPHOSCPVDigit*>(fCPVDigits.UncheckedAt(jdigit));
+ AliPHOSCPVDigit *cpvDigit2 = static_cast<AliPHOSCPVDigit*>(fCPVDigits.UncheckedAt(jdigit));
Float_t x2 = cpvDigit2->GetXpad() ;
Float_t z2 = cpvDigit2->GetYpad() ;
if (x1==x2 && z1==z2) {
ndigits = fCPVDigits.GetEntriesFast();
for (idigit=0; idigit<ndigits; idigit++) {
- AliPHOSCPVDigit *cpvDigit = dynamic_cast<AliPHOSCPVDigit*>(fCPVDigits.UncheckedAt(idigit));
+ AliPHOSCPVDigit *cpvDigit = static_cast<AliPHOSCPVDigit*>(fCPVDigits.UncheckedAt(idigit));
relid[0] = moduleNumber + 1 ; // CPV (or PHOS) module number
relid[1] =-1 ; // means CPV
relid[2] = cpvDigit->GetXpad() ; // column number of a pad
//____________________________________________________________________________
AliPHOSvImpacts::AliPHOSvImpacts():
- fEMCImpacts(0),
- fCPVImpacts(0),
- fPPSDImpacts(0)
+ fEMCImpacts(new TList),
+ fCPVImpacts(new TList),
+ fPPSDImpacts(new TList)
{
// ctor
}
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 ;
}