]>
Commit | Line | Data |
---|---|---|
53fd478b | 1 | //************************************************************************** |
2 | // Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
3 | // * | |
4 | // Author: The ALICE Off-line Project. * | |
5 | // Contributors are mentioned in the code where appropriate. * | |
6 | // * | |
7 | // Permission to use, copy, modify and distribute this software and its * | |
8 | // documentation strictly for non-commercial purposes is hereby granted * | |
9 | // without fee, provided that the above copyright notice appears in all * | |
10 | // copies and that both the copyright notice and this permission notice * | |
11 | // appear in the supporting documentation. The authors make no claims * | |
12 | // about the suitability of this software for any purpose. It is * | |
13 | // provided "as is" without express or implied warranty. * | |
14 | //************************************************************************** | |
4c039060 | 15 | |
88cb7938 | 16 | #include "AliRICHv0.h" |
53fd478b | 17 | #include "AliRICHConst.h" |
18 | #include "AliRICHChamber.h" | |
19 | #include <AliRun.h> | |
20 | #include <AliMC.h> | |
c021cb15 | 21 | #include <TVirtualMC.h> |
22 | #include <TPDGCode.h> | |
c021cb15 | 23 | #include <TLorentzVector.h> |
53fd478b | 24 | #include <TMath.h> |
ddae0931 | 25 | |
26 | ClassImp(AliRICHv0) | |
fbeabb4b | 27 | |
e14b8113 | 28 | void AliRICHv0::StepManager() |
fbeabb4b | 29 | { |
53fd478b | 30 | //This StepManager is a provision for different test-learn activities on the current MC layer |
c021cb15 | 31 | char *sParticle; |
32 | switch(gMC->TrackPid()){ | |
33 | case kProton: | |
c60862bf | 34 | sParticle="proton";break; |
c021cb15 | 35 | case kNeutron: |
c60862bf | 36 | sParticle="neutron";break; |
c021cb15 | 37 | case kGamma: |
38 | sParticle="gamma";break; | |
fbeabb4b | 39 | case kCerenkov: |
c021cb15 | 40 | sParticle="photon";break; |
fbeabb4b | 41 | case kPi0: |
42 | sParticle="Pi0";break; | |
c60862bf | 43 | case kElectron: |
44 | sParticle="electron";break; | |
c021cb15 | 45 | default: |
46 | sParticle="not known";break; | |
47 | } | |
48 | ||
c60862bf | 49 | Info("","event=%i hunt=%i tid=%i pid=%i(%s) m=%f q=%3.1f", |
fbeabb4b | 50 | gMC->CurrentEvent(), |
51 | fIshunt, | |
5d12ce38 | 52 | gAlice->GetMCApp()->GetCurrentTrackNumber(), |
fbeabb4b | 53 | gMC->TrackPid(), |
54 | sParticle, | |
55 | gMC->TrackMass(), | |
56 | gMC->TrackCharge()); | |
57 | Info("","Flags:alive(%i) disap(%i) enter(%i) exit(%i) inside(%i) out(%i) stop(%i) new(%i)", | |
c021cb15 | 58 | gMC->IsTrackAlive(), |
fbeabb4b | 59 | gMC->IsTrackDisappeared(), |
60 | gMC->IsTrackEntering(), | |
61 | gMC->IsTrackExiting(), | |
62 | gMC->IsTrackInside(), | |
63 | gMC->IsTrackOut(), | |
64 | gMC->IsTrackStop(), | |
65 | gMC->IsNewTrack()); | |
66 | Int_t copy0,copy1,copy2,copy3; | |
67 | Int_t vid0=gMC->CurrentVolID(copy0); | |
68 | Int_t vid1=gMC->CurrentVolOffID(1,copy1); | |
69 | Int_t vid2=gMC->CurrentVolOffID(2,copy2); | |
70 | Int_t vid3=gMC->CurrentVolOffID(3,copy3); | |
71 | Info("","vid0=%i(%s)c%i vid1=%i(%s)c%i vid2=%i(%s)c%i vid3=%i(%s)c%i %s-%s-%s-%s", | |
72 | vid0,gMC->VolName(vid0),copy0, | |
73 | vid1,gMC->VolName(vid1),copy1, | |
74 | vid2,gMC->VolName(vid2),copy2, | |
75 | vid3,gMC->VolName(vid3),copy3, | |
76 | gMC->CurrentVolName(), | |
77 | gMC->CurrentVolOffName(1), | |
78 | gMC->CurrentVolOffName(2), | |
79 | gMC->CurrentVolOffName(3)); | |
80 | ||
81 | Float_t a,z,den,rad,abs; a=z=den=rad=abs=kBad; | |
82 | Int_t mid=gMC->CurrentMaterial(a,z,den,rad,abs); | |
83 | Info("","mid=%i a=%7.2f z=%7.2f den=%7.2f rad=%7.2f abs=%7.2f",mid,a,z,den,rad,abs); | |
84 | ||
c021cb15 | 85 | TLorentzVector x4; |
86 | gMC->TrackPosition(x4); | |
fbeabb4b | 87 | Float_t glo[3],loc[3]; |
88 | glo[0]=x4.X();glo[1]=x4.Y();glo[2]=x4.Z(); | |
89 | gMC->Gmtod(glo,loc,1); | |
9e23b054 | 90 | Info("","glo(%+8.3f,%+8.3f,%+8.3f) r=%8.3f theta=%8.3f phi=%8.3f", |
53fd478b | 91 | glo[0],glo[1],glo[2],x4.Rho(),x4.Theta()*TMath::RadToDeg(),x4.Phi()*TMath::RadToDeg()); |
c60862bf | 92 | Info("","loc(%+8.3f,%+8.3f,%8.3f) by gMC->Gmtod()", loc[0],loc[1],loc[2]); |
93 | if(gMC->VolId("CSI ")==gMC->CurrentVolID(copy0)){ | |
94 | Int_t iChamber; | |
95 | gMC->CurrentVolOffID(2,iChamber); | |
96 | TVector3 x3=C(iChamber)->G2L(x4); | |
97 | Info("","loc(%+8.3f,%+8.3f,%8.3f) by G2L", x3.X(),x3.Y(),x3.Z()); | |
c712cb2f | 98 | x3=C(iChamber)->Glob2Loc(x4); |
9e23b054 | 99 | Info("","loc(%+8.3f,%+8.3f,%8.3f) by Global2Local", x3.X(),x3.Y(),x3.Z()); |
c60862bf | 100 | } |
101 | Info("","end of current step\n"); | |
53fd478b | 102 | }//StepManager() |
c021cb15 | 103 | //__________________________________________________________________________________________________ |