//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // Data Representation of an Analog Signal created by the TPC // GEM readout. Signal shape after Preamp/Shaper // // Environment: // Software developed for the PANDA Detector at FAIR. // // Author List: // Sebastian Neubert TUM (original author) // // //----------------------------------------------------------- #ifndef TPCSIGNAL_HH #define TPCSIGNAL_HH // Base Class Headers ---------------- // Collaborating Class Headers ------- #include // remove if you do not need streaming op #include "McId.h" // Collaborating Class Declarations -- class TpcAvalanche; class TpcSignal : public TObject { public: // Constructors/Destructors --------- TpcSignal(); TpcSignal(double T, double Amp, unsigned int PadID, unsigned int MCEventID, TpcAvalanche* Mo); ~TpcSignal(){;} // Operators friend bool operator== (const TpcSignal& lhs, const TpcSignal& rhs); friend bool operator< (const TpcSignal& lhs, const TpcSignal& rhs); friend std::ostream& operator<< (std::ostream& s, const TpcSignal& me); // Accessors ----------------------- double t() const {return ft;} double amp() const {return famp;} unsigned int padId() const {return fpadId;} unsigned int mcTrackId() const {return fmcTrackId;} unsigned int mcSecId() const {return fmcSecId;} unsigned int mcHitId() const {return fmcHitId;}; unsigned int mcEventId() const {return fmcEventId;} unsigned int index() const {return findex;} McId mcId() const; // Modifiers ----------------------- void sett(const double T) {ft=T;} void setamp(const double A) {famp=A;} void setpadId(const unsigned int PadID) {fpadId=PadID;} void setmcTrackId(const unsigned int ID) {fmcTrackId=ID;} void setmcSecId(const unsigned int ID) {fmcSecId=ID;} void setmcHitId(const unsigned int ID) {fmcHitId=ID;} void setmcEventId(const unsigned int ID) {fmcEventId=ID;} void setIndex(unsigned int caindex){findex=caindex;} // Operations ---------------------- private: // Private Data Members ------------ double ft; // Start time double famp; // Amplitude unsigned int fpadId; unsigned int fmcTrackId; unsigned int fmcSecId; unsigned int fmcHitId; unsigned int fmcEventId; unsigned int fAvalanceIndex; unsigned int findex; // Private Methods ----------------- public: ClassDef(TpcSignal,3) }; // Sorting Functor class TpcSignalComparePadID { public: TpcSignalComparePadID(){;} ~TpcSignalComparePadID(){;} bool operator()(TpcSignal* s1, TpcSignal* s2){return s1->padId()padId();} }; #endif //-------------------------------------------------------------- // $Log: TpcSignal.hh,v $ // Revision 1.8 2006/02/24 14:39:34 sneubert // moved McIds to package MciData // // Revision 1.7 2006/02/24 13:38:00 sneubert // Code revision done // // Revision 1.6 2006/02/23 11:45:17 sneubert // CodeRevision: revised TpcGHit // // Revision 1.5 2006/01/29 20:26:30 sneubert // initial creation // // Revision 1.4 2005/09/14 22:29:30 sneubert // added functor // // Revision 1.3 2005/08/22 09:33:41 sneubert // modified for MCInfo // // Revision 1.2 2005/08/18 10:08:37 sneubert // fixed missing constructor / destructor // // Revision 1.1 2005/08/18 09:34:15 sneubert // initial import // //--------------------------------------------------------------