FairRoot
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FairGeoBuilder.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 FAIRGEOBUILDER_H
9 #define FAIRGEOBUILDER_H
10 
11 #include <Rtypes.h> // for Int_t, etc
12 #include <TNamed.h> // for TNamed
13 
14 class FairGeoNode;
15 class FairGeoMedium;
16 
21 class FairGeoBuilder : public TNamed
22 {
23  protected:
24  Int_t nRot; // number of defined rotations
25  Int_t nMed; // number of defined media
26 
28  FairGeoBuilder(const char* name, const char* title);
29 
30  public:
31  virtual ~FairGeoBuilder() {}
32  virtual Bool_t createNode(FairGeoNode*, Int_t hadFormat = 0) = 0;
33  virtual Int_t createMedium(FairGeoMedium*) = 0;
34  virtual void finalize() {}
35  inline const Int_t& GetNMedia() const { return nMed; }
36  inline void SetNMedia(const Int_t& nmed) { nMed = nmed; }
38 };
39 
40 #endif /* !FAIRGEOBUILDER_H */
virtual void finalize()
ClassDef(FairGeoBuilder, 0)
void SetNMedia(const Int_t &nmed)
virtual Bool_t createNode(FairGeoNode *, Int_t hadFormat=0)=0
const Int_t & GetNMedia() const
virtual ~FairGeoBuilder()
virtual Int_t createMedium(FairGeoMedium *)=0