]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPCclustererKr.h
Test for Coverity
[u/mrichter/AliRoot.git] / TPC / AliTPCclustererKr.h
index 4da0ca518176823015932181a267754bdbd0e7c7..c3a84c56c0bac18101295e9d5e55a10c21226bef 100644 (file)
-#ifndef ALITPCCLUSTERERKR_H
-#define ALITPCCLUSTERERKR_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice                               */
-
-/* $Id: AliTPCclusterKr.h,v 1.8 2008/02/07 16:07:15 matyja Exp $ */
-
-//-------------------------------------------------------
-//                    TPC Kr Cluster Class
-//
-//   Origin: Adam Matyja, INP PAN, adam.matyja@ifj.edu.pl
-//-------------------------------------------------------
-
-#include "AliTPCclusterKr.h"
-#include <vector>
-#include "TObject.h"
-#include "AliPadMax.h"
-#include "AliSimDigits.h"
-#include "AliTPCv4.h"
-#include "AliTPCParam.h"
-#include "AliTPCDigitsArray.h"
-#include "AliTPCvtpr.h"
-#include "AliTPCClustersRow.h"
-#include "TTree.h"
-
-//used in raw data finder
-#include "AliTPCROC.h"
-#include "AliTPCCalPad.h"
-#include "AliTPCAltroMapping.h"
-#include "AliTPCcalibDB.h"
-#include "AliTPCRawStream.h"
-#include "AliTPCRecoParam.h"
-#include "AliTPCReconstructor.h"
-#include "AliRawReader.h"
-#include "AliTPCCalROC.h"
-
-//_____________________________________________________________________________
-class AliTPCclustererKr: public TObject{
-public:
-  AliTPCclustererKr();
-  AliTPCclustererKr(const AliTPCclustererKr &param);//copy constructor
-  AliTPCclustererKr &operator = (const AliTPCclustererKr & param); 
-  ~AliTPCclustererKr();
-
-  //finders
-  Int_t FinderIO();//for MC
-  Int_t FinderIO(AliRawReader* rawReader);//for data
-  Int_t FindClusterKrIO();//main routine for finding clusters
-
-  //other
-  void GetXY(Short_t sec,Short_t row,Short_t pad,Double_t& xGlob,Double_t& yGlob);//give XY coordinate of the pad
-
-  virtual void SetInput(TTree * tree);  //set input tree with digits    
-  virtual void SetOutput(TTree * tree); //set output tree with clusters
-
-  void SetParam(AliTPCParam *param){fParam=param;}//set TPC parameters
-  void SetDigArr(AliTPCDigitsArray *digarr){fDigarr=digarr;}//set current array of digits
-  void SetRecoParam(AliTPCRecoParam *recoParam=0);//set reconstruction parameters
-  virtual void SetOldRCUFormat(Bool_t rcuFormat = kFALSE)
-    { fIsOldRCUFormat = rcuFormat; };
-
-  Bool_t fRawData; //flague =0 for MC =1 for real data
-  AliTPCClustersRow * fRowCl;  //! current cluster row (used in rootuple fill)
-
-  //setters for cluster finder parameters
-  void SetZeroSup(Int_t v){fZeroSup=v;}//set zero suppresion parameter
-  void SetFirstBin(Short_t v){fFirstBin=v;}//set first considered timebin
-  void SetLastBin(Short_t v){fLastBin=v;}//set last considered timebin
-  void SetMaxNoiseAbs(Float_t v){fMaxNoiseAbs=v;}//set maximal noise value
-  void SetMaxNoiseSigma(Float_t v){fMaxNoiseSigma=v;}//set maximal noise sigma
-
-  void SetMinAdc(Short_t v){v<=0?fMinAdc=1:fMinAdc=v;}//set fMinAdc
-  void SetMinTimeBins(Short_t v){fMinTimeBins=v;}//set fMinTimeBins
-//  void SetMaxPadRange(Short_t v){fMaxPadRange=v;}//set fMaxPadRange
-//  void SetMaxRowRange(Short_t v){fMaxRowRange=v;}//set fMaxRowRange
-  void SetMaxTimeRange(Short_t v){fMaxTimeRange=v;}//set fMaxTimeRange
-  void SetValueToSize(Float_t v){fValueToSize=v;}//set fValueToSize
-
-  void SetMaxPadRangeCm(Double_t v){fMaxPadRangeCm=v;}//set fMaxPadRangeCm
-  void SetMaxRowRangeCm(Double_t v){fMaxRowRangeCm=v;}//set fMaxRowRangeCm
-
-  //getters for cluster finder parameters
-  Int_t GetZeroSup(){return fZeroSup;}//get zero suppresion parameter
-  Short_t GetFirstBin(){return fFirstBin;}//get first considered timebin
-  Short_t GetLastBin(){return fLastBin;}//get last considered timebin
-  Float_t GetMaxNoiseAbs(){return fMaxNoiseAbs;}//get maximal noise value
-  Float_t GetMaxNoiseSigma(){return fMaxNoiseSigma;}//get maximal noise sigma
-
-  Short_t GetMinAdc(){return fMinAdc;}//get fMinAdc
-  Short_t GetMinTimeBins(){return fMinTimeBins;}//get fMinTimeBins
-//  Short_t GetMaxPadRange(){return fMaxPadRange;}//get fMaxPadRange
-//  Short_t GetMaxRowRange(){return fMaxRowRange;}//get fMaxRowRange
-  Short_t GetMaxTimeRange(){return fMaxTimeRange;}//get fMaxTimeRange
-  Float_t GetValueToSize(){return fValueToSize;}//get fValueToSize
-
-  Double_t GetMaxPadRangeCm(){return fMaxPadRangeCm;}//get fMaxPadRangeCm
-  Double_t GetMaxRowRangeCm(){return fMaxRowRangeCm;}//get fMaxRowRangeCm
-
-private:
-  TTree * fInput;   //!input  tree with digits - object not owner
-  TTree * fOutput;   //!output tree with clusters - object not owner
-  AliTPCParam * fParam;//!TPC parameters
-  AliTPCDigitsArray *fDigarr;//! pointer to current array if digits
-
-  //only for raw data :)
-  const AliTPCRecoParam  * fRecoParam;        //! reconstruction parameters
-  Bool_t fIsOldRCUFormat; // assume old RCU raw data format
-
-  //cluster finder parameters
-  Int_t fZeroSup;//zero suppresion parameter = 2 def.
-  Short_t fFirstBin;//first considered time bin used by cluster finder = 60 def.
-  Short_t fLastBin;//last considered time bin used by cluster finder = 950 def.
-  Float_t fMaxNoiseAbs;// maximal noise value on pad used in cluster finder = 2 def.
-  Float_t fMaxNoiseSigma;// maximal noise sigma on pad used in cluster finder = 3 def.
-
-  Short_t fMinAdc;//minimal value of acd count in each timebin = 3 def.
-  Short_t fMinTimeBins;//minimal value of time bins one after each other = 2 def.
-//  Short_t fMaxPadRange;//maximal pad range from maximum = 4 def.
-//  Short_t fMaxRowRange;//maximal row range from maximum = 3 def.
-  Short_t fMaxTimeRange;//maximal time bin range from maximum = 7 def.
-  Float_t fValueToSize;//ratio cluster value to cluster size = 3.5 def.
-
-  Double_t fMaxPadRangeCm;//maximal pad range in cm from maximum = 2.5cm def.
-  Double_t fMaxRowRangeCm;//maximal row range in cm from maximum = 3.5cm def.
-
-  ClassDef(AliTPCclustererKr,2)  // Time Projection Chamber Kr clusters
-};
-
-
-#endif
-
-
+#ifndef ALITPCCLUSTERERKR_H\r
+#define ALITPCCLUSTERERKR_H\r
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *\r
+ * See cxx source for full Copyright notice                               */\r
+\r
+/* $Id: AliTPCclustererKr.h,v 1.8 2008/02/07 16:07:15 matyja Exp $ */\r
+\r
+//-------------------------------------------------------\r
+//                    TPC Kr Clusterer Class\r
+//\r
+//   Origin: Adam Matyja, INP PAN, adam.matyja@ifj.edu.pl\r
+//-------------------------------------------------------\r
+\r
+#include "TObject.h"\r
+\r
+class AliTPCclusterKr;\r
+class AliPadMax;\r
+class AliSimDigits;\r
+class AliTPCv4;\r
+class AliTPCParam;\r
+class AliTPCDigitsArray;\r
+class AliTPCvtpr;\r
+class AliTPCClustersRow;\r
+class TTree;\r
+class TH1F;\r
+class TH2F;\r
+\r
+class AliTPCTransform;\r
+\r
+//used in raw data finder\r
+class AliTPCROC;\r
+class AliTPCCalPad;\r
+class AliTPCAltroMapping;\r
+class AliTPCcalibDB;\r
+class AliTPCRawStream;\r
+class AliTPCRecoParam;\r
+class AliTPCReconstructor;\r
+class AliRawReader;\r
+class AliTPCCalROC;\r
+class TTreeSRedirector;\r
+class AliRawEventHeaderBase;\r
+//_____________________________________________________________________________\r
+class AliTPCclustererKr: public TObject{\r
+public:\r
+  AliTPCclustererKr();\r
+  AliTPCclustererKr(const AliTPCclustererKr &param);//copy constructor\r
+  AliTPCclustererKr &operator = (const AliTPCclustererKr & param); \r
+  virtual ~AliTPCclustererKr();\r
+\r
+  //finders\r
+  virtual Int_t FinderIO();//for MC\r
+  virtual Int_t FinderIO(AliRawReader* rawReader);//for data\r
+  virtual Int_t FinderIOold(AliRawReader* rawReader);//for data\r
+  virtual Int_t FindClusterKrIO();//main routine for finding clusters\r
+  virtual void CleanSector(Int_t sector); // clean isolated digits\r
+\r
+  //other\r
+  void GetXY(Int_t sec,Int_t row,Int_t pad,Double_t& xGlob,Double_t& yGlob);//give XY coordinate of the pad\r
+\r
+  virtual void SetInput(TTree * tree);  //set input tree with digits    \r
+  virtual void SetOutput(TTree * tree); //set output tree with clusters\r
+  virtual void SetParam(AliTPCParam *param){fParam=param;}//set TPC parameters\r
+  virtual void SetDigArr(AliTPCDigitsArray *digarr){fDigarr=digarr;}//set current array of digits\r
+  virtual void SetRecoParam(AliTPCRecoParam *recoParam=0);//set reconstruction parameters\r
+\r
+  virtual void SetTimeStamp(UInt_t timestamp){ fTimeStamp = timestamp; }\r
+  virtual void SetRun(UInt_t run){ fRun = run; }\r
+\r
+  //setters for cluster finder parameters\r
+  virtual void SetZeroSup(Int_t v){fZeroSup=v;}//set zero suppresion parameter\r
+  virtual void SetFirstBin(Int_t v){fFirstBin=v;}//set first considered timebin\r
+  virtual void SetLastBin(Int_t v){fLastBin=v;}//set last considered timebin\r
+  virtual void SetMaxNoiseAbs(Float_t v){fMaxNoiseAbs=v;}//set maximal noise value\r
+  virtual void SetMaxNoiseSigma(Float_t v){fMaxNoiseSigma=v;}//set maximal noise sigma\r
+\r
+  virtual void SetMinAdc(Int_t v){v<=0?fMinAdc=1:fMinAdc=v;}//set fMinAdc\r
+  virtual void SetMinTimeBins(Int_t v){fMinTimeBins=v;}//set fMinTimeBins\r
+//  virtual void SetMaxPadRange(Int_t v){fMaxPadRange=v;}//set fMaxPadRange\r
+//  virtual void SetMaxRowRange(Int_t v){fMaxRowRange=v;}//set fMaxRowRange\r
+  virtual void SetMaxTimeRange(Int_t v){fMaxTimeRange=v;}//set fMaxTimeRange\r
+  virtual void SetValueToSize(Float_t v){fValueToSize=v;}//set fValueToSize\r
+\r
+  virtual void SetMaxPadRangeCm(Double_t v){fMaxPadRangeCm=v;}//set fMaxPadRangeCm\r
+  virtual void SetMaxRowRangeCm(Double_t v){fMaxRowRangeCm=v;}//set fMaxRowRangeCm\r
+\r
+  virtual void SetIsolCut(Short_t v){fIsolCut=v;}\r
+\r
+  virtual void SetDebugLevel(Int_t debug){fDebugLevel=debug;}\r
+  //debug = 0 to 71 -sector number to  print\r
+  // = 72 - all sectors\r
+  // = 73 - inners\r
+  // = 74 - outers\r
+\r
+  virtual void SetHistoRow(TH1F *histo)   {fHistoRow   =histo;}\r
+  virtual void SetHistoPad(TH1F *histo)   {fHistoPad   =histo;}\r
+  virtual void SetHistoTime(TH1F *histo)  {fHistoTime  =histo;}\r
+  virtual void SetHistoRowPad(TH2F *histo){fHistoRowPad=histo;}\r
+\r
+  //getters for cluster finder parameters\r
+  Int_t GetZeroSup() const {return fZeroSup;}//get zero suppresion parameter\r
+  Int_t GetFirstBin() const {return fFirstBin;}//get first considered timebin\r
+  Int_t GetLastBin() const {return fLastBin;}//get last considered timebin\r
+  Float_t GetMaxNoiseAbs() const {return fMaxNoiseAbs;}//get maximal noise value\r
+  Float_t GetMaxNoiseSigma() const {return fMaxNoiseSigma;}//get maximal noise sigma\r
+\r
+  Int_t GetMinAdc() const {return fMinAdc;}//get fMinAdc\r
+  Int_t GetMinTimeBins() const {return fMinTimeBins;}//get fMinTimeBins\r
+//  Int_t GetMaxPadRange() const {return fMaxPadRange;}//get fMaxPadRange\r
+//  Int_t GetMaxRowRange() const {return fMaxRowRange;}//get fMaxRowRange\r
+  Int_t GetMaxTimeRange() const {return fMaxTimeRange;}//get fMaxTimeRange\r
+  Float_t GetValueToSize() const {return fValueToSize;}//get fValueToSize\r
+\r
+  Double_t GetMaxPadRangeCm() const {return fMaxPadRangeCm;}//get fMaxPadRangeCm\r
+  Double_t GetMaxRowRangeCm() const {return fMaxRowRangeCm;}//get fMaxRowRangeCm\r
+\r
+  Short_t GetIsolCut() const {return fIsolCut;}\r
+\r
+  Int_t GetDebugLevel() const {return fDebugLevel;}\r
+  TH1F * GetHistoRow(){return fHistoRow;} \r
+  TH1F * GetHistoPad(){return fHistoPad;}\r
+  TH1F * GetHistoTime(){return fHistoTime;}\r
+  TH2F * GetHistoRowPad(){return fHistoRowPad;}\r
+\r
+  UInt_t GetTimeStamp() const {return fTimeStamp;}\r
+  UInt_t GetRun() const {return fRun;}\r
+\r
+private:\r
+  void MakeClusters(TObjArray * maximaInSector, Int_t iSec, Int_t &clusterCounter);\r
+  Bool_t fRawData; //flag =0 for MC =1 for real data\r
+\r
+  TTree * fInput;   //!input  tree with digits - object not owner\r
+  TTreeSRedirector * fOutput;   //!output tree with clusters - object not owner\r
+\r
+  AliTPCParam * fParam;//!TPC parameters\r
+  AliTPCDigitsArray *fDigarr;//! pointer to current array if digits\r
+\r
+  //only for raw data :)\r
+  const AliTPCRecoParam  * fRecoParam;        //! reconstruction parameters\r
+\r
+  //cluster finder parameters\r
+  Int_t fZeroSup;//zero suppresion parameter = 2 def.\r
+  Int_t fFirstBin;//first considered time bin used by cluster finder = 60 def.\r
+  Int_t fLastBin;//last considered time bin used by cluster finder = 950 def.\r
+  Float_t fMaxNoiseAbs;// maximal noise value on pad used in cluster finder = 2 def.\r
+  Float_t fMaxNoiseSigma;// maximal noise sigma on pad used in cluster finder = 3 def.\r
+\r
+  Int_t fMinAdc;//minimal value of acd count in each timebin = 3 def.\r
+  Int_t fMinTimeBins;//minimal value of time bins one after each other = 2 def.\r
+//  Int_t fMaxPadRange;//maximal pad range from maximum = 4 def.\r
+//  Int_t fMaxRowRange;//maximal row range from maximum = 3 def.\r
+  Int_t fMaxTimeRange;//maximal time bin range from maximum = 7 def.\r
+  Float_t fValueToSize;//ratio cluster value to cluster size = 3.5 def.\r
+\r
+  Double_t fMaxPadRangeCm;//maximal pad range in cm from maximum = 2.5cm def.\r
+  Double_t fMaxRowRangeCm;//maximal row range in cm from maximum = 3.5cm def.\r
+\r
+  Short_t fIsolCut;//isolation cut in 3D = 5 def.\r
+\r
+  Int_t fDebugLevel;//! debug level variable\r
+  TH1F *fHistoRow;//!debug histo for rows\r
+  TH1F *fHistoPad;//!debug histo for pads\r
+  TH1F *fHistoTime;//!debug histo for timebins\r
+  TH2F *fHistoRowPad;//!debug histo for rows and pads\r
+\r
+  UInt_t fTimeStamp; //!time stamp from event header\r
+  UInt_t fRun; //!run from event header\r
+  ClassDef(AliTPCclustererKr,8)  // Time Projection Chamber Kr clusters\r
+};\r
+\r
+\r
+#endif\r