X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=T0%2FAliT0.cxx;h=46752954b1d8c35ba81425b0ed08fbd97a627324;hb=53918c82f01363eb4ea57b702b513777b9234cad;hp=3f1330c0706af4d0ab8beae793ce3da7d64f475f;hpb=e0bba6cc81aa1e2debbc76aee8cb48b94a4cf040;p=u%2Fmrichter%2FAliRoot.git diff --git a/T0/AliT0.cxx b/T0/AliT0.cxx index 3f1330c0706..46752954b1d 100644 --- a/T0/AliT0.cxx +++ b/T0/AliT0.cxx @@ -37,33 +37,20 @@ // // /////////////////////////////////////////////////////////////////////////////// -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include "TClonesArray.h" +#include "TString.h" +#include "AliLoader.h" +#include "AliLog.h" #include "AliLog.h" #include "AliMC.h" -#include "AliLoader.h" #include "AliRun.h" -#include "TClonesArray.h" #include "AliT0.h" -#include "AliT0Loader.h" -#include "AliT0digit.h" -#include "AliT0hit.h" #include "AliT0Digitizer.h" #include "AliT0RawData.h" #include "AliT0RecPoint.h" -#include "AliT0Parameters.h" -#include "AliLog.h" - +#include "AliT0digit.h" +#include "AliT0hit.h" ClassImp(AliT0) //static AliT0digit *digits; @@ -104,6 +91,7 @@ AliT0::AliT0(const char *name, const char *title) //_____________________________________________________________________________ AliT0::~AliT0() { + //destructor if (fHits) { fHits->Delete(); delete fHits; @@ -136,8 +124,8 @@ void AliT0::AddHit(Int_t track, Int_t *vol, Float_t *hits) //_____________________________________________________________________________ void AliT0::AddDigit(Int_t besttimeright, Int_t besttimeleft, Int_t meantime, - Int_t timediff, Int_t sumMult, - TArrayI *time, TArrayI *adc, TArrayI *timeAmp, TArrayI *adcAmp) + Int_t timediff, Int_t sumMult, Int_t refpoint, + TArrayI *timeCFD, TArrayI *qt0, TArrayI *timeLED, TArrayI *qt1) { // Add a T0 digit to the list. @@ -146,55 +134,18 @@ void AliT0::AddDigit(Int_t besttimeright, Int_t besttimeleft, Int_t meantime, if (!fDigits) { fDigits = new AliT0digit(); } - fDigits-> SetTimeBestRight(besttimeright); - fDigits->SetTimeBestLeft(besttimeleft); + fDigits-> SetTimeBestA(besttimeright); + fDigits->SetTimeBestC(besttimeleft); fDigits-> SetMeanTime(meantime); fDigits-> SetDiffTime(timediff); fDigits-> SetSumMult(sumMult); - fDigits->SetTime(*time); - fDigits->SetTimeAmp(*timeAmp); - fDigits->SetADC(*adc); - fDigits->SetADCAmp(*adcAmp); + fDigits->SetTimeCFD(*timeCFD); + fDigits->SetTimeLED(*timeLED); + fDigits->SetQT0(*qt0); + fDigits->SetQT1(*qt1); + fDigits->SetRefPoint(refpoint); } - -//_____________________________________________________________________________ -void AliT0::BuildGeometry() -{ - // - // Build simple ROOT TNode geometry for event display - // - TNode *node, *top; - const int kColorT0 = 19; - - top=gAlice->GetGeometry()->GetNode("alice"); - - // T0 define the different volumes - new TRotMatrix("rotx999","rot999", 90,0,90,90,180,0); - - new TTUBE("S_0ST1","T0 volume 1","void",5.,10.7,5.3); - top->cd(); - node = new TNode("0ST1","0ST01","S_0ST1",0,0,-69.7,""); - node->SetLineColor(kColorT0); - fNodes->Add(node); - - new TTUBE("S_0ST2","T0 volume 2","void",5.,10.7,5.3); - top->cd(); - node = new TNode("0ST2","0ST2","S_0ST2",0,0,350,"rotx999"); - node->SetLineColor(kColorT0); - fNodes->Add(node); -} - -//_____________________________________________________________________________ -Int_t AliT0::DistanceToPrimitive(Int_t /*px*/, Int_t /*py*/) -{ - // - // Calculate the distance from the mouse to the T0 on the screen - // Dummy routine - // - return 9999; -} - //------------------------------------------------------------------------- void AliT0::Init() { @@ -228,12 +179,15 @@ void AliT0::MakeBranch(Option_t* option) // // R Make a branch of AliT0RecPoints // - char branchname[20]; - sprintf(branchname,"%s",GetName()); + // char branchname[20]; + // sprintf(branchname,"%s",GetName()); + // strncpy(branchname, GetName(), 20); + TString branchname = Form("%s", GetName()); const char *cH = strstr(option,"H"); const char *cD = strstr(option,"D"); const char *cR = strstr(option,"R"); + const char *cS = strstr(option,"S"); if (cH && fLoader->TreeH()) { @@ -247,14 +201,21 @@ void AliT0::MakeBranch(Option_t* option) if (fDigits == 0x0) fDigits = new AliT0digit(); // MakeBranchInTree(fLoader->TreeD(), branchname, // &fDigits, 405, 0); - fLoader->TreeD()->Branch(branchname,"AliT0digit",&fDigits,405,1); + fLoader->TreeD()->Branch(branchname.Data(),"AliT0digit",&fDigits); // fLoader->TreeD()->Print(); } if (cR && fLoader->TreeR()) { if (fRecPoints == 0x0) fRecPoints = new AliT0RecPoint(); - MakeBranchInTree(fLoader->TreeR(), branchname, - &fRecPoints, 405, 0); + MakeBranchInTree(fLoader->TreeR(), branchname, &fRecPoints); + } + if (cS && fLoader->TreeS()) + { + if (fDigits == 0x0) fDigits = new AliT0digit(); + // MakeBranchInTree(fLoader->TreeD(), branchname, + // &fDigits, 405, 0); + fLoader->TreeS()->Branch(branchname,"AliT0digit",&fDigits); + // fLoader->TreeD()->Print(); } } @@ -262,6 +223,9 @@ void AliT0::MakeBranch(Option_t* option) //_____________________________________________________________________________ void AliT0::ResetHits() { + // + //reset hits + // AliDetector::ResetHits(); } @@ -278,8 +242,7 @@ void AliT0::ResetDigits() void AliT0::SetTreeAddress() { - TTree *treeH; - treeH = TreeH(); + TTree *treeH = fLoader->TreeH(); if (treeH) { @@ -300,6 +263,13 @@ void AliT0::SetTreeAddress() TBranch* branch = treeR->GetBranch ("T0"); if (branch) branch->SetAddress(&fRecPoints); } + // SDigitizer for Federico + TTree *treeS = fLoader->TreeS(); + if (treeS) { + if (fDigits == 0x0) fDigits = new AliT0digit(); + TBranch* branch = treeS->GetBranch ("T0"); + if (branch) branch->SetAddress(&fDigits); + } } @@ -311,18 +281,20 @@ void AliT0::MakeBranchInTreeD(TTree *treeD, const char *file) // Create TreeD branches for the FMD // const Int_t kBufferSize = 4000; - char branchname[20]; - sprintf(branchname,"%s",GetName()); + // char branchname[20]; + // strncpy(branchname, GetName(), 20); + TString branchname = Form("%s", GetName()); + // sprintf(branchname,"%s",GetName()); if(treeD) { - MakeBranchInTree(treeD, branchname,&fDigits, kBufferSize, file); + MakeBranchInTree(treeD, branchname.Data(),&fDigits, kBufferSize, file); } } //_____________________________________________________________________________ -AliDigitizer* AliT0::CreateDigitizer(AliRunDigitizer* manager) const +AliDigitizer* AliT0::CreateDigitizer(AliDigitizationInput* digInput) const { - return new AliT0Digitizer(manager); + return new AliT0Digitizer(digInput); } //____________________________________________________________________________ void AliT0::Digits2Raw() @@ -379,8 +351,8 @@ void AliT0::Raw2Digits(AliRawReader *rawReader,TTree* digitsTree) } - AliT0digit* fDigits = new AliT0digit(); - digitsTree->Branch("T0","AliT0digit",&fDigits,405,1); + fDigits = new AliT0digit(); + digitsTree->Branch("T0","AliT0digit",&fDigits); TArrayI *timeLED = new TArrayI(24); @@ -397,16 +369,16 @@ void AliT0::Raw2Digits(AliRawReader *rawReader,TTree* digitsTree) AliDebug(2, Form(" readed Raw %i %i %i %i %i", in, timeLED->At(in),timeCFD->At(in),chargeQT0->At(in),chargeQT1->At(in))); } - fDigits->SetTime(*timeCFD); - fDigits->SetADC(*chargeQT1); + fDigits->SetTimeCFD(*timeCFD); + fDigits->SetQT0(*chargeQT1); - fDigits->SetTimeAmp(*timeLED); - fDigits->SetADCAmp(*chargeQT1); + fDigits->SetTimeLED(*timeLED); + fDigits->SetQT1(*chargeQT1); fDigits->SetMeanTime(allData[49][0]); fDigits->SetDiffTime(allData[50][0]); - fDigits->SetTimeBestRight(allData[51][0]); - fDigits->SetTimeBestLeft(allData[52][0]); + fDigits->SetTimeBestA(allData[51][0]); + fDigits->SetTimeBestC(allData[52][0]); digitsTree->Fill(); fDigits->Write();