FairRoot
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FairVolume.h
Go to the documentation of this file.
1 /********************************************************************************
2  * Copyright (C) 2014 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH *
3  * *
4  * This software is distributed under the terms of the *
5  * GNU Lesser General Public Licence (LGPL) version 3, *
6  * copied verbatim in the file "LICENSE" *
7  ********************************************************************************/
8 #ifndef FAIR_VOLUME_H
9 #define FAIR_VOLUME_H
10 
11 #include "FairDetector.h"
12 #include "FairModule.h"
13 
14 #include <Rtypes.h> // for Int_t, FairVolume::Class, etc
15 #include <TNamed.h> // for TNamed
16 #include <TString.h> // for TString
17 class FairGeoNode;
18 
26 class FairVolume : public TNamed
27 {
28  public:
29  FairVolume();
30  FairVolume(TString name, Int_t id = 0, Int_t detid = 0, FairModule* fMod = 0);
31  virtual ~FairVolume();
32 
33  // const char* GetName() { return fName.Data();}
34  // TString getName() { return fName;}
35 
36  void setRealName(TString name) { fRealName = name; }
37  const char* getRealName() { return fRealName.Data(); }
38  Int_t getVolumeId() { return fVolumeId; }
39  Int_t getModId() { return fModId; }
40  void setModId(Int_t id) { fModId = id; }
41  void setCopyNo(Int_t id) { fCopyNo = id; }
42  void setVolumeId(Int_t id) { fVolumeId = id; }
43  void setGeoNode(FairGeoNode* d) { fNode = d; }
44  void setMotherId(Int_t fM) { fMotherId = fM; }
45  void setMotherCopyNo(Int_t CopyNo) { fMotherCopyNo = CopyNo; }
46 
47  FairModule* GetModule() { return fModule; }
48  FairDetector* GetDetector() { return fDetector; }
49  void SetModule(FairModule* mod)
50  {
51  fModule = mod;
52  if (mod->InheritsFrom("FairDetector")) {
53  fDetector = dynamic_cast<FairDetector*>(mod);
54  }
55  }
56 
57  Int_t getMCid() { return fMCid; }
58  Int_t getCopyNo() { return fCopyNo; }
59  void setMCid(Int_t id) { fMCid = id; }
60  FairGeoNode* getGeoNode() { return fNode; }
61  Int_t getMotherId() { return fMotherId; }
62  Int_t getMotherCopyNo() { return fMotherCopyNo; }
63 
64  private:
65  FairVolume(const FairVolume&);
66  FairVolume& operator=(const FairVolume&);
67 
68  // TString fName; /**Volume Name in MC*/
69  TString fRealName;
70  Int_t fVolumeId;
71  Int_t fModId;
72  Int_t fMCid;
73  Int_t fCopyNo;
74  Int_t fMotherId;
75  Int_t fMotherCopyNo;
76  FairDetector* fDetector;
77  FairModule* fModule;
78  FairGeoNode* fNode;
80  ClassDef(FairVolume, 2);
81 };
82 
83 #endif
void setVolumeId(Int_t id)
Definition: FairVolume.h:42
void setGeoNode(FairGeoNode *d)
Definition: FairVolume.h:43
Int_t getVolumeId()
Definition: FairVolume.h:38
Int_t getCopyNo()
Definition: FairVolume.h:58
FairGeoNode * getGeoNode()
Definition: FairVolume.h:60
Int_t getModId()
Definition: FairVolume.h:39
void SetModule(FairModule *mod)
Definition: FairVolume.h:49
FairModule * GetModule()
Definition: FairVolume.h:47
const char * getRealName()
Definition: FairVolume.h:37
Int_t getMotherCopyNo()
Definition: FairVolume.h:62
FairDetector * GetDetector()
Definition: FairVolume.h:48
Int_t getMCid()
Definition: FairVolume.h:57
void setMotherId(Int_t fM)
Definition: FairVolume.h:44
void setCopyNo(Int_t id)
Definition: FairVolume.h:41
void setModId(Int_t id)
Definition: FairVolume.h:40
void setMCid(Int_t id)
Definition: FairVolume.h:59
void setMotherCopyNo(Int_t CopyNo)
Definition: FairVolume.h:45
void setRealName(TString name)
Definition: FairVolume.h:36
Int_t getMotherId()
Definition: FairVolume.h:61
virtual ~FairVolume()
Definition: FairVolume.cxx:67