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.
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();}
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
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
//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
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);