//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // Tpc Digitization // Implementation of a concrete pulse shape analyzer using // CF signal detection and tail cancellation // // Environment: // Software developed for the PANDA Detector at FAIR. // // Author List: // Maxence Vandenbroucke TUM (original author) // // //----------------------------------------------------------- #ifndef TPCPSA_AD1_HH #define TPCPSA_AD1_HH // Base Class Headers ---------------- #include "TpcAbsPSAStrategy.h" // Collaborating Class Headers ------- #include // remove if you do not need streaming op #include #include "McIdCollection.h" #include "TpcAbsPulseshape.h" // Collaborating Class Declarations -- class TpcPSA_AD1 : public TpcAbsPSAStrategy { public: // Constructors/Destructors --------- TpcPSA_AD1();//const TpcAbsPulseshape* pulseshape); virtual ~TpcPSA_AD1(){;} // Accessors ----------------------- // Modifiers ----------------------- // Operations ---------------------- virtual TpcDigi* ProcessNext(const TpcSample* sample);//dummy virtual void Process(const std::vector & samples, std::vector& digis, double padThreshold); void TailCancellation(bool opt=kTRUE) {fTAIL=opt;} void setPs(TpcAbsPulseshape* pulseshape) {fpulseShape=pulseshape;} void setOpt(unsigned int f){f=fFreq;} private: // Private Data Members ------------ unsigned int fcurrentPadID; bool finprogress; unsigned int famp; unsigned int ft; unsigned int fthreshold; TpcAbsPulseshape* fpulseShape; int fdtc; //digit is characterized by time double fdtp; //phase double fdamp;//amplitude int fN; int fLastPulse; unsigned int fFreq; bool NEWPULSE; bool fTAIL;//tail cancellation if true McIdCollection fmcid; void tailSuppr(int i ,std::vector & samples); void saveSig(std::vector & samples,std::vector& digis); void detectSigCF(int i ,std::vector & samples); }; #endif //-------------------------------------------------------------- // $Log$ //--------------------------------------------------------------