#include "AliMUONResponseTrigger.h"
#include "AliMUON.h"
#include "AliMUONDigit.h"
#include "AliMUONGeometryTransformer.h"
#include "AliMUONHit.h"
#include "AliMUONConstants.h"
#include "AliMpPad.h"
#include "AliMpCathodType.h"
#include "AliMpPlaneType.h"
#include "AliMpSegmentation.h"
#include "AliMpVSegmentation.h"
#include "AliRun.h"
#include "AliLog.h"
#include "TList.h"
ClassImp(AliMUONResponseTrigger)
namespace
{
AliMUON* muon()
{
return static_cast<AliMUON*>(gAlice->GetModule("MUON"));
}
void Global2Local(Int_t detElemId, Double_t xg, Double_t yg, Double_t zg,
Double_t& xl, Double_t& yl, Double_t& zl)
{
const AliMUONGeometryTransformer* transformer = muon()->GetGeometryTransformer();
transformer->Global2Local(detElemId,xg,yg,zg,xl,yl,zl);
}
}
AliMUONResponseTrigger::AliMUONResponseTrigger()
: AliMUONResponse()
{
}
AliMUONResponseTrigger::~AliMUONResponseTrigger()
{
}
void
AliMUONResponseTrigger::DisIntegrate(const AliMUONHit& hit, TList& digits, Float_t )
{
digits.Clear();
Float_t xhit = hit.X();
Float_t yhit = hit.Y();
Float_t zhit = hit.Z();
Int_t detElemId = hit.DetElemId();
Double_t x,y,z;
Global2Local(detElemId,xhit,yhit,zhit,x,y,z);
Float_t tof = hit.Age();
Int_t twentyNano(100);
if (tof<AliMUONConstants::TriggerTofLimit())
{
twentyNano=1;
}
Int_t nboard=0;
for ( Int_t cath = AliMp::kCath0; cath <= AliMp::kCath1; ++cath )
{
const AliMpVSegmentation* seg
= AliMpSegmentation::Instance()
->GetMpSegmentation(detElemId,AliMp::GetCathodType(cath));
AliMpPad pad = seg->PadByPosition(x,y,kFALSE);
Int_t ix = pad.GetIx();
Int_t iy = pad.GetIy();
AliDebug(1,Form("xhit,yhit=%e,%e lx,ly,lz=%e,%e,%e ix,iy=%d,%d",
xhit,yhit,x,y,z,ix,iy));
if ( !pad.IsValid() )
{
AliWarning(Form("hit w/o strip %d-%d xhit,yhit=%e,%e local x,y,z "
"%e,%e,%e ix,iy=%d,%d",detElemId,
cath,
xhit,yhit,x,y,z,ix,iy));
continue;
}
if ( cath == AliMp::kCath0 ) nboard = pad.GetLocalBoardId(0);
AliMUONDigit* d = new AliMUONDigit(detElemId,nboard,
pad.GetLocalBoardChannel(0),cath);
d->SetPadXY(ix,iy);
d->SetCharge(twentyNano);
digits.Add(d);
}
}
AliMUONResponseTrigger.cxx:1 AliMUONResponseTrigger.cxx:2 AliMUONResponseTrigger.cxx:3 AliMUONResponseTrigger.cxx:4 AliMUONResponseTrigger.cxx:5 AliMUONResponseTrigger.cxx:6 AliMUONResponseTrigger.cxx:7 AliMUONResponseTrigger.cxx:8 AliMUONResponseTrigger.cxx:9 AliMUONResponseTrigger.cxx:10 AliMUONResponseTrigger.cxx:11 AliMUONResponseTrigger.cxx:12 AliMUONResponseTrigger.cxx:13 AliMUONResponseTrigger.cxx:14 AliMUONResponseTrigger.cxx:15 AliMUONResponseTrigger.cxx:16 AliMUONResponseTrigger.cxx:17 AliMUONResponseTrigger.cxx:18 AliMUONResponseTrigger.cxx:19 AliMUONResponseTrigger.cxx:20 AliMUONResponseTrigger.cxx:21 AliMUONResponseTrigger.cxx:22 AliMUONResponseTrigger.cxx:23 AliMUONResponseTrigger.cxx:24 AliMUONResponseTrigger.cxx:25 AliMUONResponseTrigger.cxx:26 AliMUONResponseTrigger.cxx:27 AliMUONResponseTrigger.cxx:28 AliMUONResponseTrigger.cxx:29 AliMUONResponseTrigger.cxx:30 AliMUONResponseTrigger.cxx:31 AliMUONResponseTrigger.cxx:32 AliMUONResponseTrigger.cxx:33 AliMUONResponseTrigger.cxx:34 AliMUONResponseTrigger.cxx:35 AliMUONResponseTrigger.cxx:36 AliMUONResponseTrigger.cxx:37 AliMUONResponseTrigger.cxx:38 AliMUONResponseTrigger.cxx:39 AliMUONResponseTrigger.cxx:40 AliMUONResponseTrigger.cxx:41 AliMUONResponseTrigger.cxx:42 AliMUONResponseTrigger.cxx:43 AliMUONResponseTrigger.cxx:44 AliMUONResponseTrigger.cxx:45 AliMUONResponseTrigger.cxx:46 AliMUONResponseTrigger.cxx:47 AliMUONResponseTrigger.cxx:48 AliMUONResponseTrigger.cxx:49 AliMUONResponseTrigger.cxx:50 AliMUONResponseTrigger.cxx:51 AliMUONResponseTrigger.cxx:52 AliMUONResponseTrigger.cxx:53 AliMUONResponseTrigger.cxx:54 AliMUONResponseTrigger.cxx:55 AliMUONResponseTrigger.cxx:56 AliMUONResponseTrigger.cxx:57 AliMUONResponseTrigger.cxx:58 AliMUONResponseTrigger.cxx:59 AliMUONResponseTrigger.cxx:60 AliMUONResponseTrigger.cxx:61 AliMUONResponseTrigger.cxx:62 AliMUONResponseTrigger.cxx:63 AliMUONResponseTrigger.cxx:64 AliMUONResponseTrigger.cxx:65 AliMUONResponseTrigger.cxx:66 AliMUONResponseTrigger.cxx:67 AliMUONResponseTrigger.cxx:68 AliMUONResponseTrigger.cxx:69 AliMUONResponseTrigger.cxx:70 AliMUONResponseTrigger.cxx:71 AliMUONResponseTrigger.cxx:72 AliMUONResponseTrigger.cxx:73 AliMUONResponseTrigger.cxx:74 AliMUONResponseTrigger.cxx:75 AliMUONResponseTrigger.cxx:76 AliMUONResponseTrigger.cxx:77 AliMUONResponseTrigger.cxx:78 AliMUONResponseTrigger.cxx:79 AliMUONResponseTrigger.cxx:80 AliMUONResponseTrigger.cxx:81 AliMUONResponseTrigger.cxx:82 AliMUONResponseTrigger.cxx:83 AliMUONResponseTrigger.cxx:84 AliMUONResponseTrigger.cxx:85 AliMUONResponseTrigger.cxx:86 AliMUONResponseTrigger.cxx:87 AliMUONResponseTrigger.cxx:88 AliMUONResponseTrigger.cxx:89 AliMUONResponseTrigger.cxx:90 AliMUONResponseTrigger.cxx:91 AliMUONResponseTrigger.cxx:92 AliMUONResponseTrigger.cxx:93 AliMUONResponseTrigger.cxx:94 AliMUONResponseTrigger.cxx:95 AliMUONResponseTrigger.cxx:96 AliMUONResponseTrigger.cxx:97 AliMUONResponseTrigger.cxx:98 AliMUONResponseTrigger.cxx:99 AliMUONResponseTrigger.cxx:100 AliMUONResponseTrigger.cxx:101 AliMUONResponseTrigger.cxx:102 AliMUONResponseTrigger.cxx:103 AliMUONResponseTrigger.cxx:104 AliMUONResponseTrigger.cxx:105 AliMUONResponseTrigger.cxx:106 AliMUONResponseTrigger.cxx:107 AliMUONResponseTrigger.cxx:108 AliMUONResponseTrigger.cxx:109 AliMUONResponseTrigger.cxx:110 AliMUONResponseTrigger.cxx:111 AliMUONResponseTrigger.cxx:112 AliMUONResponseTrigger.cxx:113 AliMUONResponseTrigger.cxx:114 AliMUONResponseTrigger.cxx:115 AliMUONResponseTrigger.cxx:116 AliMUONResponseTrigger.cxx:117 AliMUONResponseTrigger.cxx:118 AliMUONResponseTrigger.cxx:119 AliMUONResponseTrigger.cxx:120 AliMUONResponseTrigger.cxx:121 AliMUONResponseTrigger.cxx:122 AliMUONResponseTrigger.cxx:123 AliMUONResponseTrigger.cxx:124 AliMUONResponseTrigger.cxx:125 AliMUONResponseTrigger.cxx:126 AliMUONResponseTrigger.cxx:127 AliMUONResponseTrigger.cxx:128 AliMUONResponseTrigger.cxx:129 AliMUONResponseTrigger.cxx:130 AliMUONResponseTrigger.cxx:131 AliMUONResponseTrigger.cxx:132 AliMUONResponseTrigger.cxx:133 AliMUONResponseTrigger.cxx:134 AliMUONResponseTrigger.cxx:135 AliMUONResponseTrigger.cxx:136 AliMUONResponseTrigger.cxx:137 AliMUONResponseTrigger.cxx:138 AliMUONResponseTrigger.cxx:139 AliMUONResponseTrigger.cxx:140 AliMUONResponseTrigger.cxx:141 AliMUONResponseTrigger.cxx:142 AliMUONResponseTrigger.cxx:143