X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PMD%2FAliPMD.cxx;h=b4fc4ae673fec3f525daade0fd1f782b1f3cbfdd;hb=4c8f7c2ed70230c2fc729d58569940fa3826ebe8;hp=75d57f6d6e4ec4fc29b31b70fa0d2cd7f6dc8bd3;hpb=c39d2a93469c0e585ec18015585bf1e2074bc498;p=u%2Fmrichter%2FAliRoot.git diff --git a/PMD/AliPMD.cxx b/PMD/AliPMD.cxx index 75d57f6d6e4..b4fc4ae673f 100644 --- a/PMD/AliPMD.cxx +++ b/PMD/AliPMD.cxx @@ -40,22 +40,21 @@ #include #include -#include #include #include #include #include -#include "AliConst.h" +#include "AliLog.h" #include "AliLoader.h" #include "AliPMDLoader.h" #include "AliPMD.h" -#include "AliPMDRecPoint.h" #include "AliRun.h" #include "AliMC.h" #include "AliPMDDigitizer.h" #include "AliPMDhit.h" #include "AliPMDDDLRawData.h" +#include "AliPMDRawToSDigits.h" ClassImp(AliPMD) @@ -65,10 +64,27 @@ AliPMD::AliPMD() // // Default constructor // - fIshunt = 0; - - fRecPoints = 0; - + fIshunt = 0; + fPar[0] = 1.; + fPar[1] = 1.; + fPar[2] = 0.8; + fPar[3] = 0.02; + fIn[0] = 6.; + fIn[1] = 20.; + fIn[2] = 600.; + fIn[3] = 27.; + fIn[4] = 27.; + fGeo[0] = 0.; + fGeo[1] = 0.2; + fGeo[2] = 4.; + fPadSize[0] = 0.8; + fPadSize[1] = 1.0; + fPadSize[2] = 1.2; + fPadSize[3] = 1.5; + fNumPads[0] = 0; + fNumPads[1] = 0; + fNumPads[2] = 0; + fNumPads[3] = 0; } //_____________________________________________________________________________ @@ -84,28 +100,29 @@ AliPMD::AliPMD(const char *name, const char *title) fHits = new TClonesArray("AliPMDhit", 405); gAlice->GetMCApp()->AddHitList(fHits); - fRecPoints = new TClonesArray("AliPMDRecPoint",10000); - fNRecPoints = 0; - fIshunt = 0; - fPar[0] = 1; - fPar[1] = 1; - fPar[2] = 0.8; - fPar[3] = 0.02; - fIn[0] = 6; - fIn[1] = 20; - fIn[2] = 600; - fIn[3] = 27; - fIn[4] = 27; - fGeo[0] = 0; - fGeo[1] = 0.2; - fGeo[2] = 4; + fPar[0] = 1.; + fPar[1] = 1.; + fPar[2] = 0.8; + fPar[3] = 0.02; + fIn[0] = 6.; + fIn[1] = 20.; + fIn[2] = 600.; + fIn[3] = 27.; + fIn[4] = 27.; + fGeo[0] = 0.; + fGeo[1] = 0.2; + fGeo[2] = 4.; fPadSize[0] = 0.8; fPadSize[1] = 1.0; fPadSize[2] = 1.2; fPadSize[3] = 1.5; + fNumPads[0] = 0; + fNumPads[1] = 0; + fNumPads[2] = 0; + fNumPads[3] = 0; } AliLoader* AliPMD::MakeLoader(const char* topfoldername) @@ -116,11 +133,11 @@ AliLoader* AliPMD::MakeLoader(const char* topfoldername) if (fLoader) { - cout<<"Success"<GetGeometry()->GetNode("alice"); - - // PMD - new TBRIK("S_PMD","PMD box","void",300,300,5); - top->cd(); - node = new TNode("PMD","PMD","S_PMD",0,0,-600,""); - node->SetLineColor(kColorPMD); - fNodes->Add(node); -} - -//_____________________________________________________________________________ -Int_t AliPMD::DistancetoPrimitive(Int_t , Int_t ) const -{ - // - // Distance from mouse to detector on the screen - // dummy routine - // - return 9999; -} - //_____________________________________________________________________________ void AliPMD::SetPAR(Float_t p1, Float_t p2, Float_t p3,Float_t p4) { @@ -252,76 +236,43 @@ void AliPMD::StepManager() // } -void AliPMD::AddRecPoint(const AliPMDRecPoint &p) -{ - // - // Add a PMD reconstructed hit to the list - // - TClonesArray &lrecpoints = *fRecPoints; - new(lrecpoints[fNRecPoints++]) AliPMDRecPoint(p); -} - void AliPMD::MakeBranch(Option_t* option) { // Create Tree branches for the PMD - const char *cR = strstr(option,"R"); const char *cH = strstr(option,"H"); if (cH && fLoader->TreeH() && (fHits == 0x0)) fHits = new TClonesArray("AliPMDhit", 405); AliDetector::MakeBranch(option); - - if (cR && fLoader->TreeR()) { - printf("Make Branch - TreeR address %p\n",(void*)fLoader->TreeR()); - - const Int_t kBufferSize = 4000; - char branchname[30]; - - sprintf(branchname,"%sRecPoints",GetName()); - if (fRecPoints == 0x0) { - fRecPoints = new TClonesArray("AliPMDRecPoint",10000); - } - MakeBranchInTree(fLoader->TreeR(), branchname, &fRecPoints, kBufferSize,0); - } } void AliPMD::SetTreeAddress() { - // Set branch address for the TreeR - char branchname[30]; - + // Set branch address + if (fLoader->TreeH() && fHits==0x0) fHits = new TClonesArray("AliPMDhit", 405); AliDetector::SetTreeAddress(); +} - TBranch *branch; - TTree *treeR = fLoader->TreeR(); - - sprintf(branchname,"%s",GetName()); - if (treeR) { - branch = treeR->GetBranch(branchname); - if (branch) - { - if (fRecPoints == 0x0) { - fRecPoints = new TClonesArray("AliPMDRecPoint",10000); - } - branch->SetAddress(&fRecPoints); - } - } +void AliPMD::SetCpvOff() +{ + // Set the CPV plane off } +void AliPMD::SetPreOff() +{ + // Set the Preshower plane off -void AliPMD::ResetHits() +} +void AliPMD::SetModuleOff(Int_t /*imodule*/) { - // - // Reset number of hits and the hits array - // - AliDetector::ResetHits(); - fNRecPoints = 0; - if (fRecPoints) fRecPoints->Clear(); + // Set the desired module off + } + //____________________________________________________________________________ void AliPMD::Hits2SDigits() { @@ -377,7 +328,7 @@ void AliPMD::Digits2Raw() fLoader->LoadDigits(); TTree* digits = fLoader->TreeD(); if (!digits) { - Error("Digits2Raw", "no digits tree"); + AliError("No digits tree"); return; } @@ -387,5 +338,15 @@ void AliPMD::Digits2Raw() fLoader->UnloadDigits(); } +Bool_t AliPMD::Raw2SDigits(AliRawReader *rawReader) +{ + // converts raw to sdigits + AliRunLoader* runLoader = fLoader->GetRunLoader(); + //runLoader->GetEvent(ievt); + AliPMDRawToSDigits pmdr2sd; + pmdr2sd.Raw2SDigits(runLoader, rawReader); + fLoader->UnloadSDigits(); + return kTRUE; +}