//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // Tpc Digitization // Abstract interface for Pulse Shape Analyzer // // Environment: // Software developed for the PANDA Detector at FAIR. // // Author List: // Sebastian Neubert TUM (original author) // // //----------------------------------------------------------- #ifndef TPCABSPSASTRATEGY_HH #define TPCABSPSASTRATEGY_HH // Base Class Headers ---------------- #include #include #include #include "TpcAbsPulseshape.h" // Collaborating Class Headers ------- // Collaborating Class Declarations -- class TpcSample; class TpcDigi; class TpcAbsPSAStrategy { public: // Constructors/Destructors --------- TpcAbsPSAStrategy(); virtual ~TpcAbsPSAStrategy(); // Operations ---------------------- virtual TpcDigi* ProcessNext(const TpcSample* sample) = 0; virtual void Process(const std::vector & samples, std::vector& digis, double padThreshold) = 0; // TODO kill Maxence for that: virtual void setPs(TpcAbsPulseshape* pulseshape) { std::cerr << "setPs not implemented!" << std::endl; exit(1); }; virtual void TailCancellation(bool b) { std::cerr << "TailCancellation not implemented!" << std::endl; exit(1); }; virtual void setOpt(unsigned int b) { std::cerr << "TpcAbsPSA::Set frequency not implemented!" << std::endl; exit(1); }; double getTimeCalib(double zpos); void setTimeCalib(double c){fTimeCalib=c;} // set calibration constant for timing void setTimeCalibParams(double p1, double p2, double p3, double p4, double p5,double p6){fp1=p1;fp2=p2;fp3=p3;fp4=p4;fp5=p5;fp6=p6;fzDepTimeCalib=true;} protected: // Private Data Members ------------ // Private Methods ----------------- private: double fTimeCalib; double fp1,fp2,fp3,fp4,fp5,fp6; bool fzDepTimeCalib; }; #endif //-------------------------------------------------------------- // $Log$ //--------------------------------------------------------------