//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // TPC digitization: avalanche // Models a cloud of charge produced by a gas amplification // process in the TPC-GEMs // // Environment: // Software developed for the PANDA Detector at FAIR. // // Author List: // Sebastian Neubert TUM (original author) // Cristoforo Simonetto TUM // // //----------------------------------------------------------- #ifndef TPCAVALANCHE_HH #define TPCAVALANCHE_HH // Base Class Headers ---------------- #include // Collaborating Class Headers ------- #include // Collaborating Class Declarations -- class TpcDriftedElectron; class TpcAvalanche : public TObject { public: // Constructors/Destructors --------- TpcAvalanche(); TpcAvalanche(const double X, const double Y, const double T, const double Amp, TpcDriftedElectron* tpcDElectronp); ~TpcAvalanche(){;} // Operators friend bool operator== (const TpcAvalanche&, const TpcAvalanche&); friend bool operator< (const TpcAvalanche& lhs,const TpcAvalanche& rhs) {return lhs.ft < rhs.ft;} friend std::ostream& operator<< (std::ostream& s, const TpcAvalanche& me); // Accessors ----------------------- double x() const {return fx;} double y() const {return fy;} double t() const {return ft;} double amp() const {return famp;} unsigned int mcTrackId() const {return fmcTrackId;} unsigned int mcSecId() const {return fmcSecId;} unsigned int mcHitId() const {return fmcHitId;} unsigned int index() const {return findex;} // Modifiers ----------------------- void addAmp(double a){famp+=a;} void setIndex(unsigned int caindex){findex=caindex;} private: // Private Data Members ------------ double fx; double fy; double ft; double famp; //duplication of information, but needed for easy acces when removing pointer unsigned int fmcTrackId; // internal mc id if GEANT is not used unsigned int fmcSecId; // 0 if primary track, else >0 unsigned int fmcHitId; unsigned int fDriftedElectronId; // id of primary cluster in TClonesArray unsigned int findex; // Private Methods ----------------- public: ClassDef(TpcAvalanche,3) }; #endif //-------------------------------------------------------------- // $Log$ //--------------------------------------------------------------