#include "AliTPCseed.h"
#include "AliTPCclusterMI.h"
#include "TGeoGlobalMagField.h"
-#include "AliMagF.h"
/** ROOT macro for the implementation of ROOT specific class methods */
if ( argument.CompareTo( "-solenoidBz" ) == 0 ) {
if ( ( bMissingParam = ( ++i >= pTokens->GetEntries() ) ) ) break;
- fSolenoidBz = ( ( TObjString* )pTokens->At( i ) )->GetString().Atof();
- HLTInfo( "Magnetic Field set to: %f", fSolenoidBz );
+ HLTWarning("argument -solenoidBz is deprecated, magnetic field set up globally (%f)", GetBz());
continue;
}
//* read magnetic field
- int iResult2 = ReadCDBEntry( kAliHLTCDBSolenoidBz, chainId );
+ int iResult2 = 0;//ReadCDBEntry( kAliHLTCDBSolenoidBz, chainId );
+ fSolenoidBz=GetBz();
//* read the actual CDB entry if required
int ret = Configure( NULL, NULL, arguments.Data() );
- // set field
- if (!TGeoGlobalMagField::Instance()->IsLocked()) {
- AliMagF* field = new AliMagF("Maps","Maps",1.,1.,AliMagF::k5kG);
- field->SetFactorSol(1);
- Double_t initialFieldStrengh=field->SolenoidField();
- field->SetFactorSol(fSolenoidBz/initialFieldStrengh);
- TGeoGlobalMagField::Instance()->SetField(field);
+ // Check field
+ if (!TGeoGlobalMagField::Instance()) {
+ HLTError("magnetic field not initialized, please set up TGeoGlobalMagField and AliMagF");
+ return -ENODEV;
}
//AliTPCTransform *transform = AliTPCcalibDB::Instance()->GetTransform();
// set the clusters
- for( Int_t ic=0; ic<currTrack->fNPoints; ic++){
+ for( UInt_t ic=0; ic<currTrack->fNPoints; ic++){
UInt_t id = currTrack->fPointIDs[ic];
int iSlice = id>>25;
int iPatch = (id>>22)&0x7;
tTPC.SetClusterPointer( row, c );
AliTPCTrackerPoint &point = *( tTPC.GetTrackPoint( row ) );
- tTPC.Propagate( TMath::DegToRad()*(sec%18*20.+10.), fSolenoidBz, c->GetX() );
+ tTPC.Propagate( TMath::DegToRad()*(sec%18*20.+10.), c->GetX(), fSolenoidBz );
Double_t angle2 = tTPC.GetSnp()*tTPC.GetSnp();
angle2 = (angle2<1) ?TMath::Sqrt(angle2/(1-angle2)) :10.;
point.SetAngleY( angle2 );
// Cook dEdx
- if( outSize+sizeof( AliHLTFloat32_t ) > maxBufferSize ){
+ if( outSize+3*sizeof( AliHLTFloat32_t ) > maxBufferSize ){
HLTWarning( "Output buffer size %d exceed", maxBufferSize );
iResult = -ENOSPC;
break;
}
- *outPtr = tTPC.CookdEdx( 0.02, 0.6 );
- outPtr++;
- outSize+=sizeof( AliHLTFloat32_t );
- outBlock.fSize+=sizeof( AliHLTFloat32_t );
+
+ tTPC.CookdEdx( 0.02, 0.6 );
+ outPtr[0] = tTPC.GetdEdx();
+ outPtr[1] = tTPC.GetSDEDX(0);
+ outPtr[2] = tTPC.GetNCDEDX(0);
+ outPtr+=3;
+ outSize+=3*sizeof( AliHLTFloat32_t );
+ outBlock.fSize+=3*sizeof( AliHLTFloat32_t );
unsigned int step = sizeof( AliHLTExternalTrackParam ) + currTrack->fNPoints * sizeof( unsigned int );
currTrack = ( AliHLTExternalTrackParam* )( (( Byte_t * )currTrack) + step );