00001 00002 // $Id: CandDigit.h,v 1.13 2008/05/09 14:52:28 boehm Exp $ 00003 // 00004 // CandDigit.h 00005 // 00006 // Concrete CandDigit class descended from CandBase. 00007 // CandBase must grant friendship to class CandRefer. 00008 // 00009 // Each concrete CandBase must define a Dup function. 00010 // 00011 // Author: G. Irwin 1/2000 00013 00014 #ifndef CANDDIGIT_H 00015 #define CANDDIGIT_H 00016 00017 #include "Candidate/CandBase.h" 00018 #include "Plex/PlexSEIdAltL.h" 00019 #include "RawData/RawChannelId.h" 00020 #include "CandDigit/CandDigitHandle.h" 00021 00022 class AlgHandle; 00023 class CandContext; 00024 00025 00026 class CandDigit : public CandBase 00027 { 00028 00029 friend class CandDigitHandle; 00030 00031 public: 00032 static CandDigitHandle MakeCandidate(AlgHandle &ah, CandContext &cx); 00033 CandDigit(); // Public for I/O 00034 00035 virtual std::ostream& FormatToOStream(std::ostream& os, 00036 Option_t *option="") const; 00037 00038 protected: 00039 RawChannelId fChannelId; 00040 Float_t fCharge; // ~60. * p.e. count 00041 PlexSEIdAltL fPlexSEIdAltL; 00042 Int_t fRawDigitIndex; 00043 Double_t fTime; // Unsubtracted time in Munits base time units (sec) 00044 Char_t fVaErrorBits; // see RawVaDigit.h for interpretation 00045 Char_t fQieErrorBits; // see RawQieDigit.h 00046 00047 CandDigit(AlgHandle &ah); 00048 CandDigit(AlgHandle &ah, CandHandle &ch, CandContext &cx); 00049 CandDigit(const CandDigit &rhs); 00050 virtual ~CandDigit(); 00051 virtual void CreateLocalHandle(); 00052 virtual CandDigit *Dup() const; 00053 virtual Bool_t IsEquivalent(const TObject *rhs) const; 00054 00055 ClassDef(CandDigit,2) // Concrete Event Candidate Class 00056 00057 }; 00058 00059 void SetCandDigitPlexListInEquivTestState(int state = 1); 00060 int GetCandDigitPlexListInEquivTestState(); 00061 00062 #endif // CANDDIGIT_H
1.3.9.1