X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PHOS%2FAliPHOSv1.h;h=2329c849947f30eea650907d783775e021583be8;hb=54a7f1575112bc78b61c07227facc7f7060fe1a7;hp=6825e83dd845fb6a6819df89124fcd309c78d76c;hpb=0a6d52e36efda880a3b1544767b5270efd178466;p=u%2Fmrichter%2FAliRoot.git diff --git a/PHOS/AliPHOSv1.h b/PHOS/AliPHOSv1.h index 6825e83dd84..2329c849947 100644 --- a/PHOS/AliPHOSv1.h +++ b/PHOS/AliPHOSv1.h @@ -6,18 +6,22 @@ //_________________________________________________________________________ // Implementation version v1 of PHOS Manager class // Layout EMC + PPSD has name GPS2 -// +// Layout EMC + CPV has name IHEP +//*-- //*-- Author: Yves Schutz (SUBATECH) // --- ROOT system --- #include "TClonesArray.h" +class TFile; + // --- AliRoot header files --- #include "AliPHOSv0.h" #include "AliPHOSGeometry.h" #include "AliPHOSReconstructioner.h" #include "AliPHOSTrackSegmentMaker.h" #include "AliPHOSPID.h" +#include "AliPHOSCPVDigit.h" class AliPHOSv1 : public AliPHOSv0 { @@ -33,25 +37,28 @@ public: } virtual ~AliPHOSv1(void) ; - virtual void AddHit( Int_t shunt, Int_t primary, Int_t track, Int_t id, Float_t *hits ) ; - Int_t Digitize(Float_t Energy); - virtual void FinishEvent(void) ; - Int_t IsVersion(void) const { return 1 ; } - virtual void MakeBranch(Option_t* opt) ; - virtual AliPHOSRecPoint::RecPointsList * PpsdRecPoints() { - // Getting list of PPSD RecPoints - return fPpsdRecPoints ; - } + virtual void AddHit( Int_t shunt, Int_t primary, Int_t track, Int_t id, Float_t *hits) ; + Float_t Calibrate(Int_t amp){ return (amp - fDigitizeA)/fDigitizeB ; } + Int_t Digitize(Float_t Energy){ return (Int_t ) (fDigitizeA + Energy*fDigitizeB); } + virtual void Hits2SDigits() ; + virtual void MakeBranch(Option_t* opt, char *file=0 ) ; void Reconstruction(AliPHOSReconstructioner * Reconstructioner) ; void ResetClusters(){} ; - virtual void ResetDigits() ; + virtual void SDigits2Digits() ; + virtual Int_t IsVersion(void) const { + // Gives the version number + return 1 ; + } + virtual void ResetReconstruction() ; // Reset reconstructed objects void SetReconstructioner(AliPHOSReconstructioner& Reconstructioner) { // sets the reconstructionner object to be used fReconstructioner = &Reconstructioner ; - } + } void SetDigitThreshold(Float_t th) { fDigitThreshold = th ; } - virtual void SetTreeAddress(); + void SetPpsdEnergyThreshold(Float_t enth) { fPpsdEnergyThreshold = enth ; } + void SetCpvEnergyThreshold(Float_t enth) { fCpvEnergyThreshold = enth ; } + virtual void StepManager(void) ; virtual TString Version(void){ // returns the version number @@ -59,20 +66,25 @@ public: } AliPHOSv1 & operator = (const AliPHOSv1 & rvalue) { - // assignement operator requested by coding convention - // but not needed + // assignement operator requested by coding convention but not needed assert(0==1) ; return *this ; } + void CPVDigitize (TLorentzVector p, Float_t *xy, Int_t moduleNumber, TClonesArray *digits) ; + Float_t CPVPadResponseFunction(Float_t qhit, Float_t zg, Float_t xg) ; + Double_t CPVCumulPadResponse(Double_t x, Double_t y) ; + protected: Float_t fDigitThreshold ; // Threshold for the digit registration - Int_t fNTmpHits ; //! Used internally for digitalization + Float_t fPpsdEnergyThreshold; //PPSD + Float_t fCpvEnergyThreshold; //CPV Float_t fPinElectronicNoise ; // Electronic Noise in the PIN - AliPHOSRecPoint::RecPointsList * fPpsdRecPoints ; // The RecPoints (clusters) list in PPSD - AliPHOSReconstructioner * fReconstructioner ; // Reconstrutioner of the PHOS event: Clusterization and subtracking procedures - TClonesArray * fTmpHits ; //! Used internally for digitalization + Float_t fDigitizeA ; //Parameters of the + Float_t fDigitizeB ; //digitization + Int_t fnSdigits ; + AliPHOSReconstructioner * fReconstructioner ; // Clusterization and subtracking procedures AliPHOSTrackSegmentMaker * fTrackSegmentMaker ; // Reconstructioner of the PHOS track segment: 2 x PPSD + 1 x EMC ClassDef(AliPHOSv1,1) // Implementation of PHOS manager class for layout EMC+PPSD