X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MUON%2FAliMUONChamberTrigger.cxx;h=06f25189270a8744a5fb19eb22c7d12f857b5d23;hb=f26a8959717a427ed9ca78dc6f19d62417a4410f;hp=4643c030a404c3ba371b668a95da38b2a00af032;hpb=d81db581ca09e91b548fd91b2a3043f6771285f8;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/AliMUONChamberTrigger.cxx b/MUON/AliMUONChamberTrigger.cxx index 4643c030a40..06f25189270 100644 --- a/MUON/AliMUONChamberTrigger.cxx +++ b/MUON/AliMUONChamberTrigger.cxx @@ -13,128 +13,54 @@ * provided "as is" without express or implied warranty. * **************************************************************************/ -/* -$Log$ -Revision 1.4 2000/06/29 06:52:02 pcrochet -pow changed to TMath::Power +/* $Id$ */ -Revision 1.3 2000/06/28 15:16:35 morsch -(1) Client code adapted to new method signatures in AliMUONSegmentation (see comments there) -to allow development of slat-muon chamber simulation and reconstruction code in the MUON -framework. The changes should have no side effects (mostly dummy arguments). -(2) Hit disintegration uses 3-dim hit coordinates to allow simulation -of chambers with overlapping modules (MakePadHits, Disintegration). - -Revision 1.2 2000/06/15 07:58:48 morsch -Code from MUON-dev joined - -Revision 1.1.2.3 2000/06/09 21:27:35 morsch -Most coding rule violations corrected. - -Revision 1.1.2.2 2000/04/26 12:28:25 morsch -- flag pad hits with condition on ToF (CP) -- Tof included in the method DisIntegration (CP) - -Revision 1.1.2.1 2000/02/17 14:30:54 morsch -Draft version - -*/ +#include #include "AliMUONChamberTrigger.h" -#include "AliMUONSegmentationTrigger.h" #include "AliMUONResponseTrigger.h" -#include -#include -#include - +#include "AliMUONHit.h" +#include "AliMUON.h" +#include "AliMUONGeometryTransformer.h" +#include "AliLog.h" + +//----------------------------------------------------------------------------- +/// \class AliMUONChamberTrigger +/// +/// Implementation of AliMUONChamber for the trigger +/// +/// \deprecated This class is to be deprecated. +/// +//----------------------------------------------------------------------------- + +/// \cond CLASSIMP ClassImp(AliMUONChamberTrigger) +/// \endcond //------------------------------------------- - AliMUONChamberTrigger::AliMUONChamberTrigger() +AliMUONChamberTrigger::AliMUONChamberTrigger() + : AliMUONChamber(), + fkGeomTransformer(0) { -// Default constructor +/// Default constructor } +//------------------------------------------- -AliMUONChamberTrigger::AliMUONChamberTrigger(Int_t id) : AliMUONChamber(id) +AliMUONChamberTrigger:: ~AliMUONChamberTrigger() { -// Constructor using chamber id +/// Destructor } //------------------------------------------- -void AliMUONChamberTrigger::DisIntegration(Float_t eloss, Float_t tof, - Float_t xhit, Float_t yhit, Float_t zhit, - Int_t& nnew, - Float_t newclust[6][500]) + +AliMUONChamberTrigger::AliMUONChamberTrigger(Int_t id, + const AliMUONGeometryTransformer* kGeometryTransformer) + : AliMUONChamber(id), + fkGeomTransformer(kGeometryTransformer) { -// -// Generates pad hits (simulated cluster) -// using the segmentation and the response model - - Int_t twentyNano; - if (tof<75*TMath::Power(10,-9)) { - twentyNano=1; - } else { - twentyNano=100; - } - - // cout << " time = " << tof << " , " << twentyNano << "\n"; - - Float_t qp; - nnew=0; - for (Int_t i=1; i<=fnsec; i++) { - AliMUONSegmentation * segmentation= - (AliMUONSegmentation*) (*fSegmentation)[i-1]; - -// Find the module & strip Id. which has fired - Int_t ix,iy; - - segmentation->GetPadIxy(xhit,yhit,0,ix,iy); - segmentation->SetPad(ix,iy); - -// treatment of GEANT hits w/o corresponding strip (due to the fact that -// the 2 geometries are computed in a very slightly different way) - if (ix==0&&iy==0) { - cout << " AliMUONChamberTrigger hit w/o strip " << xhit << " , " << yhit << "\n"; - } else { - // --- store signal information for this strip - newclust[0][nnew]=1.; // total charge - newclust[1][nnew]=ix; // ix-position of pad - newclust[2][nnew]=iy; // iy-position of pad - newclust[3][nnew]=twentyNano; // time of flight - newclust[4][nnew]=segmentation->ISector(); // sector id - newclust[5][nnew]=(Float_t) i; // counter - nnew++; - // set hits - segmentation->SetHit(xhit,yhit,zhit); - // get the list of nearest neighbours - Int_t nList, xList[2], yList[2]; - segmentation->Neighbours(ix,iy,&nList,xList,yList); - - for (Int_t j=0; jGetPadCxy(xList[j],yList[j],x,y,z); - // set pad (fx fy & fix fiy are the current pad coord. & Id.) - segmentation->SetPad(xList[j],yList[j]); - // get the chamber (i.e. current strip) response - qp=fResponse->IntXY(segmentation); - - if (qp > 0.5) { - // --- store signal information for neighbours - newclust[0][nnew]=qp; // total charge - newclust[1][nnew]=segmentation->Ix(); // ix-position of pad - newclust[2][nnew]=segmentation->Iy(); // iy-position of pad - newclust[3][nnew]=twentyNano; // time of flight - newclust[4][nnew]=segmentation->ISector(); // sector id - newclust[5][nnew]=(Float_t) i; // counter - nnew++; - } // qp > 0.5 - } // loop on neighbour - } // endif hit w/o strip - } // loop over planes +/// Constructor using chamber id } @@ -142,5 +68,3 @@ void AliMUONChamberTrigger::DisIntegration(Float_t eloss, Float_t tof, - -