// -*- mode: c++ -*- //____________________________________________________________________ // // $Id: BrTpcClusterModule.h,v 1.3 2001/08/16 15:45:17 jens Exp $ // $Author: jens $ // $Date: 2001/08/16 15:45:17 $ // $Copyright: (C) 2001 BRAHMS Collaboration // #ifndef BRAT_BrTpcClusterModule #define BRAT_BrTpcClusterModule // ROOT includes #ifndef ROOT_TH1 #include #endif //BRAT includes #ifndef BRAT_BrModule #include "BrModule.h" #endif #ifndef BRAT_BrDataTable #include "BrDataTable.h" #endif #ifndef BRAT_BrTpcCluster #include "BrTpcCluster.h" #endif #ifndef BRAT_BrTpcSequence #include "BrTpcSequence.h" #endif class BrTpcClusterModule : public BrModule { protected: BrDataTable *fSeqTable; // pointer to the input data BrDataTable *fClusterTable; // pointer to cluster output data Int_t fClusterId; // For defining unique IDs. Bool_t fReset; // If kTRUE reset sequence table at the end of Event() // Cluster histograms TH1F* hNpads; // No of pads in good clusters TH1F* hNtime; // No of time bins in good clusters TH1F* hNclusters; // No of good clusters TH1F* hMaxADC; // Max ADC values in good clusters TH1F* hSumADC; // Integrated ADC values in good clusters TH1F* hPadvar; // Pad variance, good clusters TH1F* hTimevar; // Pad variance, good clusters private: virtual Bool_t FindClusters(void); virtual BrTpcCluster *GetClusterById(Int_t id); virtual Bool_t SeqOverlap(BrTpcSequence *iseq, BrTpcSequence *jseq); virtual void ResetSequenceTable(); public: BrTpcClusterModule(); BrTpcClusterModule(const Char_t *name, const Char_t *title); virtual ~BrTpcClusterModule(); virtual void DefineHistograms(); virtual void Event(BrEventNode* inputNode, BrEventNode* outputNode); virtual Bool_t GetDoReset() { return fReset; } virtual void Init(); virtual void Print(Option_t* option="B") const; // *MENU* virtual void SetDoReset( Bool_t reset = kTRUE ) { fReset = reset; } // THE FOLLOWING SHOULD ALWAYS BE 0 == NO STREAMER!!!!! ClassDef(BrTpcClusterModule, 0) // BRAHMS TPC Cluster Module }; #endif //____________________________________________________________________ // // $Log: BrTpcClusterModule.h,v $ // Revision 1.3 2001/08/16 15:45:17 jens // // BrTpcClusterModule // BrTpcDeconvoluteClusterModule // BrTpcTrackModule // Changed some variable names for histograms and the title scheme for histogram. // Now histograms have title like e.g. ": max ADC in clusters". // // BrTpcClusterModule // Added the possibility to reset sequences in fSeqTable. BrTpcSequence::fClustNum // is altered in BrTpcClusterModule::FindClusters, and thus made it impossible to // reanalyze an event. I.e. previously a new instance of BrEvent had to be // allocated and filled from input. // // Revision 1.2 2001/06/22 17:45:18 cholm // Change names so that every data class has the same format, so that // we will not have to worry about that later on. The affected classes // are: // // BrTPCSequence -> BrTpcSequence // BrTPCCluster -> BrTpcCluster // BrTPCClusterTable -> BrTpcClusterTable // // These changes has ofcourse been propegated to the modules as well, // giving the changes // // BrTPCClusterFinder -> BrTpcClusterFinder // BrTPCSequenceAdder -> BrTpcSequenceAdder // // Revision 1.1.1.1 2001/06/21 14:55:13 hagel // Initial revision of brat2 // // Revision 1.1 2001/05/29 14:20:22 pchristi // Initial import of new Tpc classes // //