#include "AliConst.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"
ClassImp(AliPMD)
AliLoader* AliPMD::MakeLoader(const char* topfoldername)
{
- cout<<"AliPMD::MakeLoader ";
+ // Makes PMD Loader
- fLoader = new AliPMDLoader(GetName(),topfoldername);
+ fLoader = new AliPMDLoader(GetName(),topfoldername);
- if (fLoader)
- {
- cout<<"Success"<<endl;
- }
- else
- {
- cout<<"Failure"<<endl;
- }
+ if (fLoader)
+ {
+ cout<<"Success"<<endl;
+ }
+ else
+ {
+ cout<<"Failure"<<endl;
+ }
- return fLoader;
+ return fLoader;
}
AliPMD::~AliPMD()
// Build simple ROOT TNode geometry for event display
//
- TNode *Node, *Top;
+ TNode *node, *top;
const int kColorPMD = kRed;
//
- Top=gAlice->GetGeometry()->GetNode("alice");
+ top=gAlice->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);
+ 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 )
+Int_t AliPMD::DistancetoPrimitive(Int_t , Int_t ) const
{
//
// Distance from mouse to detector on the screen
AliDetector::MakeBranch(option);
if (cR && fLoader->TreeR()) {
- printf("Make Branch - TreeR address %p\n",fLoader->TreeR());
+ printf("Make Branch - TreeR address %p\n",(void*)fLoader->TreeR());
const Int_t kBufferSize = 4000;
char branchname[30];
fNRecPoints = 0;
if (fRecPoints) fRecPoints->Clear();
}
-
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Photon Multiplicity Detector Version 1 //
-// //
-//Begin_Html
-/*
-<img src="picts/AliPMDv1Class.gif">
-*/
-//End_Html
-// //
-///////////////////////////////////////////////////////////////////////////////
-
-
-
-ClassImp(AliPMDhit)
-
-//_____________________________________________________________________________
-AliPMDhit::AliPMDhit(Int_t shunt,Int_t track, Int_t *vol, Float_t *hits):
- AliHit(shunt, track)
-{
- //
- // Add a PMD hit
- //
- Int_t i;
- for (i=0;i<8;i++) fVolume[i] = vol[i];
- fX=hits[0];
- fY=hits[1];
- fZ=hits[2];
- fEnergy=hits[3];
-}
-
-
//____________________________________________________________________________
void AliPMD::Hits2SDigits()
{
AliPMDDigitizer* pmdDigitizer = new AliPMDDigitizer;
pmdDigitizer->OpengAliceFile(fLoader->GetRunLoader()->GetFileName().Data(),
"HS");
- pmdDigitizer->SetZPosition(365.0);
+ pmdDigitizer->SetZPosition(361.5);
for (Int_t iEvent = 0; iEvent < runLoader->GetNumberOfEvents(); iEvent++) {
pmdDigitizer->Hits2SDigits(iEvent);
fLoader->UnloadSDigits();
delete pmdDigitizer;
}
+//____________________________________________________________________________
+void AliPMD::SDigits2Digits()
+{
+ // creates sdigits to digits
+}
+//____________________________________________________________________________
+void AliPMD::Hits2Digits()
+{
+// create digits
+
+ AliRunLoader* runLoader = fLoader->GetRunLoader();
+ AliPMDDigitizer* pmdDigitizer = new AliPMDDigitizer;
+ pmdDigitizer->OpengAliceFile(fLoader->GetRunLoader()->GetFileName().Data(),
+ "HD");
+ pmdDigitizer->SetZPosition(361.5);
+
+ for (Int_t iEvent = 0; iEvent < runLoader->GetNumberOfEvents(); iEvent++) {
+ pmdDigitizer->Hits2Digits(iEvent);
+ }
+ fLoader->UnloadHits();
+ fLoader->UnloadDigits();
+ delete pmdDigitizer;
+
+}
+// ---------------------------------------------------------------------------
+AliDigitizer* AliPMD::CreateDigitizer(AliRunDigitizer* manager) const
+{
+ return new AliPMDDigitizer(manager);
+}
+// ---------------------------------------------------------------------------
+
+