- enum {CradlesBranch_Bit=1};
-
- AliPHOS();
- AliPHOS(const char *name, const char *title);
- virtual ~AliPHOS();
- virtual void AddHit(Int_t, Int_t*, Float_t*);
- virtual void BuildGeometry();
- virtual void CreateGeometry() {}
- virtual void CreateMaterials();
- Int_t DistancetoPrimitive(Int_t px, Int_t py);
- void FinishEvent(void);
-
- virtual void Init();
- virtual Int_t IsVersion() const =0;
- void MakeBranch(Option_t *option);
- void SetTreeAddress(void);
- void FinishRun(void);
- void ResetDigits(void);
- void Print(Option_t *opt="");
- AliPHOSCradle *GetCradleOfTheParticle(const Hep3Vector &p,const Hep3Vector &v) const;
- AliPHOSCradle &GetCradle(int n) {return *(AliPHOSCradle*)fCradles->operator[](n);}
- // AliPHOSCradle &GetCradle(int n) {return *((AliPHOSCradle*) (*fCradles)[n]) ;}
- void Reconstruction(Float_t signal_step, UInt_t min_signal_reject);
- virtual void SetFlags(Float_t p1,Float_t p2=0,Float_t p3=0,Float_t p4=0,
- Float_t p5=0,Float_t p6=0,Float_t p7=0,Float_t p8=0,Float_t p9=0);
- virtual void SetCell(Float_t p1,Float_t p2=0,Float_t p3=0,Float_t p4=0,
- Float_t p5=0,Float_t p6=0,Float_t p7=0,Float_t p8=0,Float_t p9=0);
- virtual void SetRadius(Float_t radius);
- virtual void SetCradleSize(Int_t nz, Int_t nphi, Int_t ncradles);
- virtual void SetCradleA(Float_t angle);
- virtual void SetCPV(Float_t p1,Float_t p2=0,Float_t p3=0,Float_t p4=0,
- Float_t p5=0,Float_t p6=0,Float_t p7=0,Float_t p8=0,Float_t p9=0);
- virtual void SetExtra(Float_t p1,Float_t p2=0,Float_t p3=0,Float_t p4=0,
- Float_t p5=0,Float_t p6=0,Float_t p7=0,Float_t p8=0,Float_t p9=0);
- virtual void SetTextolitWall(Float_t dx, Float_t dy, Float_t dz);
- virtual void SetInnerAir(Float_t dx, Float_t dy, Float_t dz);
- virtual void SetFoam(Float_t dx, Float_t dy, Float_t dz, Float_t dr);
- virtual void StepManager()=0;
- virtual void DefPars();
- virtual void AddPHOSCradles();
-
-
-
- virtual Int_t GetPHOS_IDTMED_PbWO4 (void){return gAlice->Idtmed()[700-1];}
- virtual Int_t GetPHOS_IDTMED_CPV (void){return gAlice->Idtmed()[701-1];}
- virtual Int_t GetPHOS_IDTMED_Al (void){return gAlice->Idtmed()[702-1];}
- virtual Int_t GetPHOS_IDTMED_Tyvek (void){return gAlice->Idtmed()[703-1];}
- virtual Int_t GetPHOS_IDTMED_PIN (void){return gAlice->Idtmed()[706-1];}
- virtual Int_t GetPHOS_IDTMED_AIR (void){return gAlice->Idtmed()[799-1];}
-
-
- virtual Int_t &GetPHOS_Ndiv_magic (void) {return PHOS_Ndiv_magic;}
- virtual Float_t GetCrystalSideSize (void) const {return PHOScell[0]; }
- virtual Float_t GetCrystalLength (void) const {return PHOScell[1]; }
- virtual Float_t GetWrapThickness (void) const {return PHOScell[2]; }
- virtual Float_t GetAirThickness (void) const {return PHOScell[3]; }
- virtual Float_t GetPIN_SideSize (void) const {return PHOScell[4]; }
- virtual Float_t GetPIN_Length (void) const {return PHOScell[5]; }
- virtual Float_t GetRadius (void) const {return PHOSradius; }
- virtual Float_t GetCPV_Thickness (void) const {return PHOSCPV[0]; }
- virtual Float_t GetCPV_PHOS_Distance (void) const {return PHOSCPV[1]; }
- virtual Int_t GetNz (void) const {return PHOSsize[0]; }
- virtual Int_t GetNphi (void) const {return PHOSsize[1]; }
- virtual Int_t GetCradlesAmount (void) const {return PHOSsize[2]; }
- virtual Float_t GetAngleBetweenCradles(void) const {return PHOScradlesA;}
- virtual Float_t GetPHOS_flag (Int_t n) const {return PHOSflags[n];}
- virtual Float_t GetPHOSextra (Int_t n) const {return PHOSextra[n];}
- virtual Float_t GetPHOSFoam (Int_t n) const {return PHOSFTI[n];}
- virtual Float_t GetPHOStxwall (Int_t n) const {return PHOSTXW[n];}
- virtual Float_t GetPHOSAir (Int_t n) const {return PHOSAIR[n];}
- virtual Float_t &GetCradleAngle (Int_t n) {return PHOSangle[n];}
-
-
- TObjArray *fCradles; //! Cradles in PHOS
- Int_t fDebugLevel;
-
- TTree *fTreePHOS; //! Pointer to PHOS tree.
-
-private:
-
- TString fBranchNameOfCradles; //
- TString fTreeName; // Name of PHOS tree: "PHOS"
-
-#define MAXCRAD 100