]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSClusterFinder.h
Adding copy constructor and assignment operator
[u/mrichter/AliRoot.git] / ITS / AliITSClusterFinder.h
index 95e99ebe4dc51b1214f76ef5be41b62a2243191a..adda62389259eb26e9d36a34bdb000ed3caa74c9 100644 (file)
@@ -19,18 +19,18 @@ class AliITSMap;
 class AliITSresponse;
 class AliITSsegmentation;
 class AliITSRawCluster;
-class AliITS;
+class AliITSgeom;
 class AliITSdigit;
 class AliITSRecPoint;
+class AliITSDetTypeRec;
 
 //----------------------------------------------------------------------
 class AliITSClusterFinder :public TObject{
   public:
     AliITSClusterFinder(); // Default constructor
     // Standard Constructor
-    AliITSClusterFinder(AliITSsegmentation *seg, AliITSresponse *resp);
-    AliITSClusterFinder(AliITSsegmentation *seg, AliITSresponse *resp,
-                        TClonesArray *digits);// Standard+ Constructor
+    AliITSClusterFinder(AliITSDetTypeRec* dettyp);
+    AliITSClusterFinder(AliITSDetTypeRec* dettyp,TClonesArray *digits);// Standard+ Constructor
     virtual ~AliITSClusterFinder(); // Destructor
     //
     // Do the Reconstruction.
@@ -42,13 +42,6 @@ class AliITSClusterFinder :public TObject{
     void SetNoDebug(){fDebug=0;}
     // Returns the debug flag value
     Bool_t GetDebug(Int_t level=1)const {return fDebug>=level;}
-    //
-    // Setters and Getters
-    // segmentation
-    virtual void SetSegmentation(AliITSsegmentation *segmentation) {
-        fSegmentation=segmentation;}
-    //Returns fSegmentation
-    virtual AliITSsegmentation* GetSegmentation()const{return fSegmentation;}
     // Digit
     virtual void SetDigits(TClonesArray *itsDigits) {// set digits
         fDigits=itsDigits;fNdigits = fDigits->GetEntriesFast();}
@@ -56,11 +49,6 @@ class AliITSClusterFinder :public TObject{
         return (AliITSdigit*) fDigits->UncheckedAt(i);}
     virtual TClonesArray* Digits(){return fDigits;}// Gets fDigits
     virtual Int_t   NDigits() const {return fNdigits;}// Get Number of Digits
-    // Response
-    //Return Response
-    virtual AliITSresponse* GetResponse()const{return fResponse;}
-    virtual void SetResponse(AliITSresponse *response) {// set response
-        fResponse=response;}
     // clulsters
     // Set fClusters up
     virtual void SetClusters(TClonesArray *itsClusters){// set clusters
@@ -82,9 +70,8 @@ class AliITSClusterFinder :public TObject{
     virtual void   FillCluster(AliITSRawCluster *cluster) {// fill cluster
         FillCluster(cluster,1);}
 
-    //
     virtual void SetModule(Int_t module){fModule = module;}// Set module number
-    virtual Int_t GetModule()const{return fModule;}// Returns module number
+    virtual Int_t GetModule()const {return fModule;}// Returns module number
     //
     // RecPoints
     // Given a cluster of digits, creates the nessesary RecPoint. May also
@@ -114,36 +101,34 @@ class AliITSClusterFinder :public TObject{
     //split by local maxima
     virtual void SplitByLocalMaxima(AliITSRawCluster *){}
     // IO functions
-    void Print(ostream *os); // Class ascii print function
+    void Print(ostream *os) const; // Class ascii print function
     void Read(istream *os);  // Class ascii read function
     virtual void Print(Option_t *option="") const {TObject::Print(option);}
     virtual Int_t Read(const char *name) {return TObject::Read(name);}
 
-    // Conversion from RecPoints to V2Clusters
-    void RecPoints2Clusters(const TClonesArray *points, Int_t idx, TClonesArray *clusters);
+    virtual void SetDetTypeRec(AliITSDetTypeRec* dtr) {fDetTypeRec=dtr;}
+    AliITSDetTypeRec* GetDetTypeRec() const {return fDetTypeRec;}
 
+    void InitGeometry(); 
  
   protected:
     // methods 
-    static void CheckLabels(Int_t lab[3]);
-    void Init();                      
     AliITSClusterFinder(const AliITSClusterFinder &source); // copy constructor
     // assignment operator
     AliITSClusterFinder& operator=(const AliITSClusterFinder &source);
    // data members       
-    Int_t              fDebug;         //! Debug flag/level
-    Int_t              fModule;        //! Module number to be reconstuctted
-    TClonesArray       *fDigits;       //! digits
-    Int_t              fNdigits;       //! num of digits
 
-    AliITSresponse     *fResponse;     //! response
-    AliITSsegmentation *fSegmentation; //! segmentation
-    TClonesArray       *fClusters;     //! Array of clusters
-    Int_t              fNRawClusters;  //! in case we split the cluster
-                                       // and want to keep track of 
-                                       // the cluster which was splitted
+   Int_t              fDebug;         //! Debug flag/level
+   Int_t              fModule;        //! Module number to be reconstuctted
+   TClonesArray       *fDigits;       //! digits 
+   Int_t              fNdigits;       //! num of digits 
+   AliITSDetTypeRec* fDetTypeRec; //ITS object for reconstruction
+   TClonesArray       *fClusters;     //! Array of clusters
+   Int_t              fNRawClusters;  //! in case we split the cluster
+   // and want to keep track of 
+   // the cluster which was splitted
     AliITSMap          *fMap;          //! map
-    AliITS             *fITS;          //! pointer to the ITS      
     Int_t              fNperMax;       //! NperMax
     Int_t              fDeclusterFlag; //! DeclusterFlag
     Int_t              fClusterSize;   //! ClusterSize
@@ -154,7 +139,8 @@ class AliITSClusterFinder :public TObject{
     Int_t fNdet[2200];           // detector index  
     Int_t fNlayer[2200];         // detector layer
 
-    ClassDef(AliITSClusterFinder,4) //Class for clustering and reconstruction of space points
+
+    ClassDef(AliITSClusterFinder,6) //Class for clustering and reconstruction of space points
 };
 // Input and output functions for standard C++ input/output.
 ostream &operator<<(ostream &os,AliITSClusterFinder &source);