StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
StMcEvent Class Reference

Event data structure to hold all information from a Monte Carlo simulation. This class is the interface to access all information from the GEANT simulations in STAR. From here one can get all vertices, tracks, hits in the event. More...

Inheritance diagram for StMcEvent:
TDataSet myMcEvent

Public Member Functions

 StMcEvent (g2t_event_st *)
virtual void Browse (TBrowser *b)
 Browse this dataset (called by TBrowser).
virtual bool IsFolder () const
int operator== (const StMcEvent &) const
int operator!= (const StMcEvent &) const
unsigned long eventGeneratorEventLabel () const
unsigned long eventNumber () const
unsigned long runNumber () const
unsigned long type () const
unsigned long zWest () const
unsigned long nWest () const
unsigned long zEast () const
unsigned long nEast () const
unsigned long eventGeneratorFinalStateTracks () const
unsigned long numberOfPrimaryTracks () const
unsigned long subProcessId () const
float impactParameter () const
float phiReactionPlane () const
float triggerTimeOffset () const
unsigned long nBinary () const
unsigned long nWoundedEast () const
unsigned long nWoundedWest () const
unsigned long nJets () const
StMcVertexprimaryVertex ()
const StMcVertexprimaryVertex () const
StSPtrVecMcVertex & vertices ()
const StSPtrVecMcVertex & vertices () const
StSPtrVecMcTrack & tracks ()
const StSPtrVecMcTrack & tracks () const
StMcTpcHitCollectiontpcHitCollection ()
const StMcTpcHitCollectiontpcHitCollection () const
StMcSvtHitCollectionsvtHitCollection ()
const StMcSvtHitCollectionsvtHitCollection () const
StMcSsdHitCollectionssdHitCollection ()
const StMcSsdHitCollectionssdHitCollection () const
StMcFtpcHitCollectionftpcHitCollection ()
const StMcFtpcHitCollectionftpcHitCollection () const
StMcRichHitCollectionrichHitCollection ()
const StMcRichHitCollectionrichHitCollection () const
StMcCtbHitCollectionctbHitCollection ()
const StMcCtbHitCollectionctbHitCollection () const
StMcEmcHitCollectionemcHitCollection (const Char_t *name)
const StMcEmcHitCollectionemcHitCollection (const Char_t *name) const
StMcEmcHitCollectionbemcHitCollection ()
const StMcEmcHitCollectionbemcHitCollection () const
StMcEmcHitCollectionbprsHitCollection ()
const StMcEmcHitCollectionbprsHitCollection () const
StMcEmcHitCollectionbsmdeHitCollection ()
const StMcEmcHitCollectionbsmdeHitCollection () const
StMcEmcHitCollectionbsmdpHitCollection ()
const StMcEmcHitCollectionbsmdpHitCollection () const
StMcTofHitCollectiontofHitCollection ()
const StMcTofHitCollectiontofHitCollection () const
StMcBTofHitCollectionbtofHitCollection ()
const StMcBTofHitCollectionbtofHitCollection () const
StMcMtdHitCollectionmtdHitCollection ()
const StMcMtdHitCollectionmtdHitCollection () const
StMcEmcHitCollectioneemcHitCollection ()
const StMcEmcHitCollectioneemcHitCollection () const
StMcEmcHitCollectioneprsHitCollection ()
const StMcEmcHitCollectioneprsHitCollection () const
StMcEmcHitCollectionesmduHitCollection ()
const StMcEmcHitCollectionesmduHitCollection () const
StMcEmcHitCollectionesmdvHitCollection ()
const StMcEmcHitCollectionesmdvHitCollection () const
StMcEtrHitCollectionetrHitCollection ()
const StMcEtrHitCollectionetrHitCollection () const
StMcEmcHitCollectionfpdHitCollection ()
const StMcEmcHitCollectionfpdHitCollection () const
StMcEmcHitCollectionfscHitCollection ()
const StMcEmcHitCollectionfscHitCollection () const
StMcPxlHitCollectionpxlHitCollection ()
const StMcPxlHitCollectionpxlHitCollection () const
StMcIstHitCollectionistHitCollection ()
const StMcIstHitCollectionistHitCollection () const
StMcFgtHitCollectionfgtHitCollection ()
const StMcFgtHitCollectionfgtHitCollection () const
void setEventGeneratorEventLabel (unsigned long)
void setEventNumber (unsigned long)
void setRunNumber (unsigned long)
void setType (unsigned long)
void setZWest (unsigned long)
void setNWest (unsigned long)
void setZEast (unsigned long)
void setNEast (unsigned long)
void setEventGeneratorFinalStateTracks (unsigned long)
void setNumberOfPrimaryTracks (unsigned long)
void setImpactParameter (float)
void setPhiReactionPlane (float)
void setTriggerTimeOffset (float)
void setNBinary (unsigned long)
void setNWoundedEast (unsigned long)
void setNWoundedWest (unsigned long)
void setNJets (unsigned long)
void setPrimaryVertex (StMcVertex *)
void setTpcHitCollection (StMcTpcHitCollection *)
void setSvtHitCollection (StMcSvtHitCollection *)
void setSsdHitCollection (StMcSsdHitCollection *)
void setFtpcHitCollection (StMcFtpcHitCollection *)
void setRichHitCollection (StMcRichHitCollection *)
void setTofHitCollection (StMcTofHitCollection *)
void setBTofHitCollection (StMcBTofHitCollection *)
void setMtdHitCollection (StMcMtdHitCollection *)
void setPxlHitCollection (StMcPxlHitCollection *)
void setIstHitCollection (StMcIstHitCollection *)
void setFgtHitCollection (StMcFgtHitCollection *)
virtual void Print (Option_t *option="") const
- Public Member Functions inherited from TDataSet
 TDataSet (const char *name="", TDataSet *parent=0, Bool_t arrayFlag=kFALSE)
 TDataSet (const TDataSet &src, EDataSetPass iopt=kAll)
 TDataSet (TNode &src)
 This copy ctor has been depricated (left for thwe sake of the backweard compatibility)
virtual ~TDataSet ()
 std::cout << "Default destructor for " << GetName() << " - " << GetTitle() << std::endl;
virtual void Add (TDataSet *dataset)
virtual void AddAt (TDataSet *dataset, Int_t idx=0)
virtual void AddAtAndExpand (TDataSet *dataset, Int_t idx=0)
virtual void AddFirst (TDataSet *dataset)
 Add TDataSet object at the beginning of the dataset list of this dataset.
virtual void AddLast (TDataSet *dataset)
 Add TDataSet object at the end of the dataset list of this dataset.
TDataSetAt (Int_t idx) const
virtual TObject * Clone (const char *newname="") const
 the custom implementation fo the TObject::Clone
virtual void Delete (Option_t *opt="")
virtual TDataSetFind (const char *path) const
virtual TDataSetFindByName (const char *name, const char *path="", Option_t *opt="") const
virtual TDataSetFindByPath (const char *path) const
 Aliase for TDataSet::Find(const Char_t *path) method.
virtual TDataSetFindByTitle (const char *title, const char *path="", Option_t *opt="") const
TObject * FindObject (const char *name) const
TObject * FindObject (const TObject *o) const
virtual TDataSetFirst () const
 Return the first object in the list. Returns 0 when list is empty.
TObjArray * GetObjArray () const
virtual TSeqCollection * GetCollection () const
TList * GetList () const
virtual Int_t GetListSize () const
TObject * GetMother () const
virtual TObject * GetObject () const
 The depricated method (left here for the sake of the backward compatibility)
virtual TDataSetGetParent () const
virtual Long_t HasData () const
virtual TDataSetInstance () const
virtual TString Path () const
 return the full path of this data set
virtual EDataSetPass Pass (EDataSetPass(*callback)(TDataSet *), Int_t depth=0)
virtual EDataSetPass Pass (EDataSetPass(*callback)(TDataSet *, void *), void *user, Int_t depth=0)
virtual void PrintContents (Option_t *opt="") const
virtual Int_t Purge (Option_t *opt="")
virtual void Remove (TDataSet *set)
 Remiove the "set" from this TDataSet.
virtual TDataSetRemoveAt (Int_t idx)
virtual void SetMother (TDataSet *parent=0)
virtual void SetObject (TObject *obj)
 The depricated method (left here for the sake of the backward compatibility)
virtual void SetParent (TDataSet *parent=0)
virtual void SetWrite ()
virtual void Shunt (TDataSet *newParent=0)
virtual void Sort ()
 Sort recursively all members of the TDataSet with TList::Sort method.
virtual Bool_t IsEmpty () const
 return kTRUE if the "internal" collection has no member
virtual Bool_t IsMarked () const
virtual Bool_t IsThisDir (const char *dirname, int len=-1, int ignorecase=0) const
virtual TDataSetLast () const
 Return the last object in the list. Returns 0 when list is empty.
virtual void ls (Option_t *option="") const
virtual void ls (Int_t depth) const
void Mark ()
void UnMark ()
void MarkAll ()
 Mark all members of this dataset.
void UnMarkAll ()
 UnMark all members of this dataset.
void InvertAllMarks ()
 Invert mark bit for all members of this dataset.
void Mark (UInt_t flag, EBitOpt reset=kSet)
virtual TDataSetNext () const
virtual TDataSetPrev () const
virtual void Update ()
virtual void Update (TDataSet *set, UInt_t opt=0)
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0)
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const

Static Public Member Functions

static const TString & cvsTag ()
- Static Public Member Functions inherited from TDataSet
static TDataSetGetMainSet ()
 return pointer to the main dataset
static TDataSetinstance ()

Protected Member Functions

void initToZero ()
void makeColls ()
const StMcEventoperator= (const StMcEvent &)
 StMcEvent (const StMcEvent &)
- Protected Member Functions inherited from TDataSet
virtual void SetMother (TObject *mother)
 TDataSet (const char *name, const char *title)
void AddMain (TDataSet *set)
 add data set to main data set
TDataSetGetRealParent ()
 return real parent
void MakeCollection ()
 Create the internal container at once if any.

Protected Attributes

char mBeg [1]
unsigned long mEventGeneratorEventLabel
unsigned long mEventNumber
unsigned long mRunNumber
unsigned long mType
unsigned long mZWest
unsigned long mNWest
unsigned long mZEast
unsigned long mNEast
unsigned long mEvGenFSTracks
unsigned long mPrimaryTracks
unsigned long mSubProcessId
float mImpactParameter
float mPhiReactionPlane
float mTriggerTimeOffset
unsigned long mNBinary
unsigned long mNWoundedEast
unsigned long mNWoundedWest
unsigned long mNJets
StObjectmBegColl [1]
StObjectmEndColl [1]
char mEnd [1]
StSPtrVecMcVertex mVertices
StSPtrVecMcTrack mTracks
- Protected Attributes inherited from TDataSet
TSeqCollection * fList

Static Protected Attributes

static TString mCvsTag = "$Id:,v 2.40 2016/05/17 19:41:50 perev Exp $"
- Static Protected Attributes inherited from TDataSet
static TDataSetfgMainSet = &mainSet

Additional Inherited Members

- Public Types inherited from TDataSet
enum  EDataSetPass {
  kContinue, kPrune, kStop, kUp,
  kStruct, kAll, kRefs, kMarked
enum  ESetBits { kMark = BIT(22), kArray = BIT(20) }
enum  EBitOpt { kSet = kTRUE, kReset = kFALSE }
- Static Protected Member Functions inherited from TDataSet
static EDataSetPass SortIt (TDataSet *ds)
static EDataSetPass SortIt (TDataSet *ds, void *user)

Detailed Description

Event data structure to hold all information from a Monte Carlo simulation. This class is the interface to access all information from the GEANT simulations in STAR. From here one can get all vertices, tracks, hits in the event.

Manuel Calderon de la Barca Sanchez (Yale, BNL, IU) calde.nosp@m.ron@.nosp@m.iucf..nosp@m.indi.nosp@m.ana.e.nosp@m.du
July 1999
Id:,v 2.40 2016/05/17 19:41:50 perev Exp

Revision 2.40 2016/05/17 19:41:50 perev Coverity

Revision 2.39 2016/05/16 23:47:09 perev Coverity fix

Revision 2.38 2015/03/13 18:44:58 perev Roll back

Revision 2.36 2013/03/25 23:26:39 perev Mustafa.Pxl corrs+Cleanup

Revision 2.35 2012/04/19 16:22:51 perev Cleanup

Revision 2.34 2012/03/22 13:56:27 fisyak Add missing parentheses

Revision 2.33 2012/03/22 00:36:41 perev Etr added

Revision 2.32 2012/03/01 16:48:29 perev method Browse() added

Revision 2.31 2011/10/11 01:12:14 perev Mtd added

Revision 2.30 2011/03/22 22:30:33 perev Bug#2111 Remove redundant zeroing

Revision 2.29 2009/07/24 19:08:06 perev Cleanup + Btof added (Geurts)

Revision 2.28 2007/10/16 19:49:13 fisyak rename Hft => Pxl, remove Hpd, Igt and Fst

Revision 2.27 2006/09/25 14:31:15 fisyak remove duplicated SafeDelete(mTofHits)

Revision 2.24 2005/11/22 21:44:51 fisyak Add compress Print for McEvent, add Ssd collections

Revision 2.23 2005/10/03 16:58:17 calderon Fixed bug in logic of printing 2nd vertex.

Revision 2.22 2005/10/01 00:01:10 calderon Fixed bug in printing of parent tracks. Was calling the hit array out of bounds.

Revision 2.21 2005/09/29 01:01:10 calderon Fixed bugs in printing event and hit information. Format operator<< for various classes.

Revision 2.20 2005/09/28 21:30:14 fisyak Persistent StMcEvent

Revision 2.19 2005/07/07 18:20:49 calderon Added support for IGT detector.

Revision 2.18 2005/05/27 23:37:25 calderon Update for EEMC, add eprs, esmdu esdmv hits to StMcEvent.

Revision 2.17 2005/04/18 20:11:32 calderon Addition of Fgt and Fst files. Modified other files to accomodate changes.

Revision 2.16 2005/01/27 23:40:47 calderon Adding persistency to StMcEvent as a step for Virtual MonteCarlo.

Revision 2.15 2004/09/14 05:00:29 calderon Added support for Ist, Ssd and changes to Pixel, from "El Kai".

Revision 2.14 2003/12/04 05:56:47 calderon Inclusion of Endcap EMC hit collection in StMcEvent and of the Endcap hit vector in StMcTrack. fix const of StMcVertex::parent() to avoid warnings in user code

Revision 2.13 2003/08/20 18:50:21 calderon Addition of Tof classes and Pixel classes. Modified track, event, and container code to reflect this. Fix bug in StMcVertex and in clearing of some hit collections.

Revision 2.12 2003/05/15 18:28:47 calderon Added data members from modified g2t_event table: Event Generator Final State Tracks, N Binary Collisions, N Wounded Nucleons East and West, N Jets.

Revision 2.11 2003/04/17 18:01:24 calderon print the subprocess id when dumping event info in operator<<

Revision 2.10 2003/03/18 22:37:39 calderon Added member mSubProcessId which is used for Pythia events. Only is set from constructor from g2t_event table.

Revision 2.9 2003/02/19 03:16:05 calderon Introduction of Ctb Hit Class and Ctb Hit Collection class, modified StMcTrack, and StMcEvent accordingly. Clearing of hits in StMcSvtWaferHitCollection.

Revision 2.8 2000/06/06 02:58:40 calderon Introduction of Calorimeter classes. Modified several classes accordingly.

Revision 2.7 2000/05/11 14:27:23 calderon use clear() in destructors to reduce size of containers

Revision 2.6 2000/04/17 23:01:14 calderon Added local momentum to hits as per Lee's request

Revision 2.5 2000/03/06 18:05:21 calderon 1) Modified SVT Hits storage scheme from layer-ladder-wafer to barrel-ladder-wafer. 2) Added Rich Hit class and collection, and links to them in other classes.

Revision 2.4 2000/01/18 20:52:31 calderon Works with CC5

Revision 2.3 1999/12/14 07:04:49 calderon Numbering scheme as per SVT request.

Revision 2.2 1999/12/03 00:51:51 calderon Tested with new StMcEventMaker. Added messages for diagnostics.

Revision 2.1 1999/11/19 19:06:31 calderon Recommit after redoing the files.

Revision 2.0 1999/11/17 02:12:15 calderon Completely revised for new StEvent

Revision 1.3 1999/09/23 21:25:50 calderon Added Log & Id Modified includes according to Yuri

Revision 1.2 1999/07/28 20:27:32 calderon Version with SL99f libraries

Definition at line 169 of file StMcEvent.hh.

The documentation for this class was generated from the following files: