JSFQuickSimBuf


class description - source file - inheritance tree

class JSFQuickSimBuf : public JSFEventBuf

    private:
void AppendCALHits(JSFQuickSimBuf* src) void AppendLTKCLTracks(JSFQuickSimBuf* src, Int_t numgp, JSFGeneratorBuf* gbuf) Bool_t MakeCALHits() Bool_t MakeCDCTracks() Bool_t MakeJSFLTKCLTrackPointers() Bool_t MakeJSFLTKCLTracks() Bool_t MakeVTXHits() void SetPointers() void SetTrackNSig() public:
JSFQuickSimBuf() JSFQuickSimBuf(const char* name, const char* title = "JSF QuickSim event class", JSFQuickSim* sim = NULL) JSFQuickSimBuf(const JSFQuickSimBuf&) virtual ~JSFQuickSimBuf() void Append(JSFQuickSimBuf* src, Int_t numgp, JSFGeneratorBuf* gsrc) static TClass* Class() virtual void Clear(Option_t* opt) virtual void Delete(Option_t* opt) TClonesArray* GetCDCTracks() TClonesArray* GetEMCHits() TClonesArray* GetHDCHits() Int_t GetNCDCTracks() Int_t GetNEMCHits() Int_t GetNHDCHits() Int_t GetNtracks() Int_t GetNTracks() Int_t GetNVTXHits() TObjArray* GetTracks() TClonesArray* GetVTXHits() virtual TClass* IsA() const Bool_t MakeEventBuf() void SetGeneratorPointers(JSFGeneratorBuf* ingen = NULL) void SetNCDCTracks(Int_t nt) void SetNEMCHits(Int_t nt) void SetNHDCHits(Int_t nt) void SetNTracks(Int_t nt) void SetNVTXHits(Int_t nt) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members

    private:
Int_t fNTracks Number of particles Int_t fNCDCTracks Number of CDC tracks. Int_t fNVTXHits Number of VTXHits Int_t fNEMCHits Number of EMC hit cells Int_t fNHDCHits Number of HDC hit cells TObjArray* fTracks -> Pointers to Particles TClonesArray* fCDCTracks -> Pointer to CDC Tracks TClonesArray* fVTXHits -> Pointers to VTX Hits TClonesArray* fEMCHits -> Pointers to EMC Hit cells TClonesArray* fHDCHits -> Pointers to EMC Hit cells Int_t fCDCTrackIsCDCVTX ! 0 when CDC track is not CDC+VTX combined track.

Class Description

 JSRSFQuickSim

 Quick simulator for JLC detector.
 This version calls Quick simulator written by Fortran, which is
 those in lclib, then detector informations are outpu a la C++ class.

 When Quick Simulator is executed, detector information are saved in
 JSFQuickSimBuf class, where pointers to detector signals are prepared.
 The JSFQuickSimBuf includes following information:
    CDC track information, VTX/EMC/HDC hit information,
    LTKCL information ( created by combining CDC and EMC/HDC information)

 There are several link information among classes.  Thoese are
    JSFLTKCLTrack.fCDC -> JSFCDCTrack  ( only for charged track.)
    JSFCDCTrack.f1stCDC -> index of JSFCDCTrack in JSFQuickSimBuf.fCDCTracks
    JSFCDCTrack.fVTXHits[i]  -> JSFVTXHit
    JSFCDCTrack.fGenID  -> (index of JSFGeneratorParticle + 1 )
    JSFVTXHit.fLinkedTrack ->index of JSFCDCTrack in JSFQuickSimBuf.fCDCTracks
    JSFVTXHit.fGenTrack ->(index of JSFGeneratorParticle + 1 )

 For simple minded usage, the use of LTKCL information is recomended,
 as it includes both Track and Calorimeter information.  For example to
 calculate total energy from LTKCL is as follows.

   JSFQuickSim *sim=(JSFQuickSim*)gJSF->FindModule("JSFQuickSim");
   JSFQuickSimBuf *sbuf=(JSFQuickSimBuf*)sim->EventBuf();
   TClonesArray *cmbt=sbuf->GetTracks();
   TVector psum(4);
   for(Int_t i=0;i<sbuf->GetNTracks();i++){
     JSSFLTKCLTrack *lt=(JSFLTKCLTrack*)sbuf->UncheckedAt(i);
     TVecor pv(4);
     pv=lt->GetPv();
     psum=psum+pv;
   }
   printf(" Total energy is %gn",psum(0));


  Environment parameter and its default value  are as follows

 # If 0, track parameter in JSFCDCTrack is parameter by CDCTrack only.
 # If 1, JSFCDCTrack is a result of CDC-VTX combined track parameter.
  JSFQuickSim.CDCTrackIsCDCVTX   1

$Id: JSFQuickSim.cxx,v 1.41 2003/05/23 07:04:35 miyamoto Exp $




JSFQuickSimBuf()

JSFQuickSimBuf(const char *name, const char *title, JSFQuickSim *sim) : JSFEventBuf(name,title, sim)

~JSFQuickSimBuf()

void Clear(const Option_t *option)

void Delete(const Option_t *option)

Bool_t MakeEventBuf()

void SetTrackNSig()

Bool_t MakeJSFLTKCLTrackPointers()
 Set link information of JSFLTKCLTracks

Bool_t MakeJSFLTKCLTracks()
 Copy Production:Combined track banks into JSFLTKCLTrack class

Bool_t MakeCALHits()
 Create JSFEMCHits and JSFHDCHits from
 the TBS bank, Production:EMC;Hit_Cell and Production:HDC;Hit_Cell

Bool_t MakeVTXHits()
 Create JSFVTXHits class
 the TBS bank, Production:VTX;Hit and Production:VTX;Hit_Errors
 Using the tracks saved in JSFCDCTrack class, VTX hits are obtained
 from Production:VTX;Hit and Production:VTX;Hit_Errors bank,
 and saved in JSFVTXHit class.

Bool_t MakeCDCTracks()
 Create JSFCDCTracks class.
 The track parameters in the TBS bank,
 Production:CDC_VTX;Track_Parameter is saved as data member.
(Warning)
 Only tracks which has entry in JSFLTKCLClass is saved in this class.


void SetGeneratorPointers(JSFGeneratorBuf *ingen)
 After reading the class data for JSFQuickSimBuf, pointers
 for JSFCDCTracks and JSFVTXHits are reset.

void SetPointers()
 After reading the class data for JSFQuickSimBuf, pointers
 for JSFCDCTracks and JSFVTXHits are reset.

void Append(JSFQuickSimBuf *src, Int_t numgp, JSFGeneratorBuf *gbuf)
 Append JSFQuickSimBuf object, src, to current object
 numgp is a number of generator particles in the src.  It is used to increment
 pointer information to JSFGenerator objects
 gbuf: is a pointer to newly created JSFGeneratorBuf class.

void AppendCALHits(JSFQuickSimBuf *src)
 Append JSFQuickSimBuf object, src, to current object
 numgp is a number of generator particles in the src.  It is used to increment
 pointer information

void AppendLTKCLTracks(JSFQuickSimBuf *src, Int_t numgp, JSFGeneratorBuf *gbuf)
 Append JSFQuickSimBuf object, src, to current object
 src  : A pointer to source JSFQuickSimBuf object.
 numgp: Number of generator particles added.
 gbuf : A pointer to JSFGeneratorBuf where generator information is added.

void Streamer(TBuffer &R__b)
 Stream an object of class JSFQuickSimBuf.

void Streamer(TBuffer &R__b)
 Stream an object of class JSFQuickSimBuf.



Inline Functions


                  void SetNTracks(Int_t nt)
                 Int_t GetNtracks()
                 Int_t GetNTracks()
            TObjArray* GetTracks()
                  void SetNCDCTracks(Int_t nt)
                 Int_t GetNCDCTracks()
         TClonesArray* GetCDCTracks()
                  void SetNVTXHits(Int_t nt)
                 Int_t GetNVTXHits()
         TClonesArray* GetVTXHits()
                  void SetNEMCHits(Int_t nt)
                 Int_t GetNEMCHits()
         TClonesArray* GetEMCHits()
                  void SetNHDCHits(Int_t nt)
                 Int_t GetNHDCHits()
         TClonesArray* GetHDCHits()
               TClass* Class()
               TClass* IsA() const
                  void ShowMembers(TMemberInspector& insp, char* parent)
                  void StreamerNVirtual(TBuffer& b)
        JSFQuickSimBuf JSFQuickSimBuf(const JSFQuickSimBuf&)


Last update: Tue Jan 20 15:54:50 2004


ROOT page - Home page - Class index - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.