//______________________________________________________________________
AliITSv11::AliITSv11():
fByThick(kTRUE),
- fMajorVersion(IsVersion()),
- fMinorVersion(-1),
fIDMother(0),
- fInitGeom((AliITSVersion_t)fMajorVersion,fMinorVersion),
+ fInitGeom(kv11),
fSPDgeom(0),
fSDDgeom(0),
fSSDgeom(0),
AliITSv11::AliITSv11(const char *title)
: AliITS("ITS", title),
fByThick(kTRUE),
- fMajorVersion(IsVersion()),
- fMinorVersion(1),
fIDMother(0),
- fInitGeom((AliITSVersion_t)fMajorVersion,fMinorVersion),
+ fInitGeom(kv11),
fSPDgeom(0),
fSDDgeom(0),
fSSDgeom(0),
AliITSv11::AliITSv11(const char *name, const char *title)
: AliITS("ITS", title),
fByThick(kTRUE),
- fMajorVersion(IsVersion()),
- fMinorVersion(1),
fIDMother(0),
- fInitGeom((AliITSVersion_t)fMajorVersion,fMinorVersion),
+ fInitGeom(kv11),
fSPDgeom(0),
fSDDgeom(0),
fSSDgeom(0),
vALIC->AddNode(vITSS, 1, 0);
//
- const Char_t *cvsDate="$Date$";
- const Char_t *cvsRevision="$Revision$";
const Int_t kLength=100;
Char_t vstrng[kLength];
- if(fInitGeom.WriteVersionString(vstrng,kLength,(AliITSVersion_t)IsVersion(),
- fMinorVersion,cvsDate,cvsRevision)) {
+ if(fInitGeom.WriteVersionString(vstrng,kLength,(AliITSVersion_t)IsVersion())){
vITSV->SetTitle(vstrng);
vITSS->SetTitle(vstrng);
}
Float_t arohac[4] = {12.01, 1.01, 14.010, 16.};
Float_t zrohac[4] = { 6., 1., 7., 8.};
Float_t wrohac[4] = { 14., 10., 2., 6.};
- Float_t drohac = 0.052;
+ Float_t drohac = 0.058;
// If he/she means stainless steel (inox) + Aluminium and Zeff=15.3383 then
//
Float_t wNiSn[2] = {0.33, 0.67};
Float_t dNiSn = wNiSn[0]*8.908 + wNiSn[1]*7.310;
+ // SPD cooling capillaries (Phynox)
+ Float_t aPhynox[5] = { 55.8450, 58.9332, 51.9961, 58.6934, 95.94 };
+ Float_t zPhynox[5] = { 26. , 27. , 24. , 28. , 42. };
+ Float_t wPhynox[5] = { 0.17 , 0.40 , 0.20 , 0.16 , 0.07 };
+ Float_t dPhynox = 8.3;
+
AliMaterial(1,"SI$",0.28086E+02,0.14000E+02,0.23300E+01,0.93600E+01,0.99900E+03);
AliMedium(1,"SI$",1,0,ifield,fieldm,tmaxfdSi,stemaxSi,deemaxSi,epsilSi,stminSi);
AliMixture(7,"SDD SI CHIP$",aSICHIP,zSICHIP,dSICHIP,6,wSICHIP);
AliMedium(7,"SDD SI CHIP$",7,0,ifield,fieldm,tmaxfdSi,stemaxSi,deemaxSi,epsilSi,stminSi);
+ AliMixture(8,"PHYNOX$",aPhynox,zPhynox,dPhynox,5,wPhynox);
+ AliMedium(8,"PHYNOX$",8,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
+
AliMixture(9,"SDD C (M55J)$",aCM55J,zCM55J,dCM55J,4,wCM55J);
AliMedium(9,"SDD C (M55J)$",9,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
// Return:
// none.
- AliDebug(1,Form("Init: Major version %d Minor version %d",fMajorVersion,
- fMinorVersion));
UpdateInternalGeometry();
AliITS::Init();
- fIDMother = gMC->VolId("ITSV"); // ITS Mother Volume ID.
+ fIDMother = TVirtualMC::GetMC()->VolId("ITSV"); // ITS Mother Volume ID.
}
//______________________________________________________________________
// none.
if(!(this->IsActive())) return;
- if(!(gMC->TrackCharge())) return;
+ if(!(TVirtualMC::GetMC()->TrackCharge())) return;
Int_t copy, lay = 0;
- Int_t id = gMC->CurrentVolID(copy);
+ Int_t id = TVirtualMC::GetMC()->CurrentVolID(copy);
Bool_t notSens = kFALSE;
while ((lay<fIdN) && (notSens = id != fIdSens[lay])) ++lay;
if (notSens) return;
- if(gMC->IsTrackExiting()) {
+ if(TVirtualMC::GetMC()->IsTrackExiting()) {
AddTrackReference(gAlice->GetMCApp()->GetCurrentTrackNumber(), AliTrackReference::kITS);
} // if Outer ITS mother Volume
Int_t cpn0, cpn1, mod, status = 0;
//
// Track status
- if(gMC->IsTrackInside()) status += 1;
- if(gMC->IsTrackEntering()) status += 2;
- if(gMC->IsTrackExiting()) status += 4;
- if(gMC->IsTrackOut()) status += 8;
- if(gMC->IsTrackDisappeared()) status += 16;
- if(gMC->IsTrackStop()) status += 32;
- if(gMC->IsTrackAlive()) status += 64;
+ if(TVirtualMC::GetMC()->IsTrackInside()) status += 1;
+ if(TVirtualMC::GetMC()->IsTrackEntering()) status += 2;
+ if(TVirtualMC::GetMC()->IsTrackExiting()) status += 4;
+ if(TVirtualMC::GetMC()->IsTrackOut()) status += 8;
+ if(TVirtualMC::GetMC()->IsTrackDisappeared()) status += 16;
+ if(TVirtualMC::GetMC()->IsTrackStop()) status += 32;
+ if(TVirtualMC::GetMC()->IsTrackAlive()) status += 64;
//
// retrieve the indices with the volume path
//
switch (lay) {
case 0:case 1: // SPD
- gMC->CurrentVolOffID(1,copy); // ladder
- gMC->CurrentVolOffID(3,cpn1); // stave
- gMC->CurrentVolOffID(5,cpn0); // sector
+ TVirtualMC::GetMC()->CurrentVolOffID(1,copy); // ladder
+ TVirtualMC::GetMC()->CurrentVolOffID(3,cpn1); // stave
+ TVirtualMC::GetMC()->CurrentVolOffID(5,cpn0); // sector
break;
case 2:case 3: // SDD
copy = 1;
- gMC->CurrentVolOffID(2,cpn1);
- gMC->CurrentVolOffID(3,cpn0);
+ TVirtualMC::GetMC()->CurrentVolOffID(2,cpn1);
+ TVirtualMC::GetMC()->CurrentVolOffID(3,cpn0);
break;
case 4:case 5: // SSD
copy = 1;
- gMC->CurrentVolOffID(1,cpn1);
- gMC->CurrentVolOffID(2,cpn0);
+ TVirtualMC::GetMC()->CurrentVolOffID(1,cpn1);
+ TVirtualMC::GetMC()->CurrentVolOffID(2,cpn0);
break;
default:
AliError(Form("Invalid value: lay= %d . Not an ITS sensitive volume",lay));
//
hit.SetModule(mod);
hit.SetTrack(gAlice->GetMCApp()->GetCurrentTrackNumber());
- gMC->TrackPosition(position);
- gMC->TrackMomentum(momentum);
+ TVirtualMC::GetMC()->TrackPosition(position);
+ TVirtualMC::GetMC()->TrackMomentum(momentum);
hit.SetPosition(position);
- hit.SetTime(gMC->TrackTime());
+ hit.SetTime(TVirtualMC::GetMC()->TrackTime());
hit.SetMomentum(momentum);
hit.SetStatus(status);
- hit.SetEdep(gMC->Edep());
+ hit.SetEdep(TVirtualMC::GetMC()->Edep());
hit.SetShunt(GetIshunt());
- if(gMC->IsTrackEntering()){
+ if(TVirtualMC::GetMC()->IsTrackEntering()){
hit.SetStartPosition(position);
- hit.SetStartTime(gMC->TrackTime());
+ hit.SetStartTime(TVirtualMC::GetMC()->TrackTime());
hit.SetStartStatus(status);
return; // don't save entering hit.
} // end if IsEntering
new(lhits[fNhits++]) AliITShit(hit); // Use Copy Construtor.
// Save old position... for next hit.
hit.SetStartPosition(position);
- hit.SetStartTime(gMC->TrackTime());
+ hit.SetStartTime(TVirtualMC::GetMC()->TrackTime());
hit.SetStartStatus(status);
return;